2010-12-14 17 views

Respuesta

4

el evento de carga solamente se dispara si una imagen es válida:

$('.userFeatureProductImage').hide(); 
$('.userFeatureProductImage img').load(function() { 
    $(this).closest('.userFeatureProductImage').show(); 
}); 
2

Utilice el evento error que se llama cuando se produce un error con la imagen:

$(".userFeatureProductImage img").error(function(){ 
    $(this).parent().hide(); 
}); 

Ejemplo: http://jsfiddle.net/jonathon/vWwpc/

+0

Esto no parece funcionar para mí ... http://jsfiddle.net/UzEKZ/1/; La documentación hace que parezca que solo oculta el icono de imagen roto para los usuarios de IE. – Yahel

+0

hola esto tampoco funciona para mí. Me preguntaba si esto solo escondería la imagen en lugar del div principal. –

+0

hola lo puso a trabajar, $ (". UserFeatureProductImage img"). Error (function() { $ (this) .parent(). Hide(); }); –

2

Puede intentar algo como esto:

<script type="text/javascript" 
     src="http://code.jquery.com/jquery-1.4.4.min.js"></script> 
<script type="text/javascript"> 
    function hideBrokenImage(id) { 
      $(id.+"userFeatureProductImage").hide(); 
    } 
</script> 
<div id="imageFilename" class="userFeatureProductImage"> 
    <img src="imageFilename.gif" onerror="hideBrokenImage(imageFilename);" /> 
</div> 

Donde imageFilename es obviamente creado dinámicamente.

Cuestiones relacionadas