2011-05-20 109 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