2011-05-20 61 views

回答

6

jQuery有一个函数来处理这个问题,看看.error()

因此,举例来说,你可以一个.error()处理程序连接到的所有图像,并显示别的东西,如果有错误,像源已不存在:

$('img').error(function() { 
    $(this).hide(); 
}).attr("src", "missing.jpg"); 

Here is a demo

+0

呀,它很好地工作。谢谢:) – user558134 2011-05-20 08:25:10

+1

你已经倒过来了 - 不要隐藏图像,你应该在回调中设置src。看到我的答案。 – 2011-06-09 15:37:12

0

是的,你可以使用error事件这样的....

$('#imageId') 
    .error(function() { 
    alert('Something bad happened.') 
    }) 
    .attr("src", "image.gif"); 
+1

@ Vivek ....;)而不是'使用'使用...'测试'。或者我们假设你在你的网页上使用*警报! ;)这看起来像前一个答案的修改后的复制粘贴答案。 – 2011-05-20 09:29:40

6

@Scoobler有正确的想法,但错误的实现。

$(function() 
{ 
    $('img').error(function() 
    { 
     $(this).attr('src', 'http://i.stack.imgur.com/THJzu.gif'); 
    }); 
}); 

.error()结合必须发生在文件准备 - 窗口负荷是为时已晚。

演示:http://jsfiddle.net/mattball/EebmC/

+0

我以为相同,但奇怪的是他的演示链接工作,即使在我试过的一个巨大的DOM。 – needfulthing 2015-01-22 14:56:54