2011-06-07 55 views
0

我正在測試img的src屬性是否匹配某個字符串。當它發生時,我希望它改變src屬性並使圖像重新加載。重新加載匹配圖像

到目前爲止,我已經試過,但它不工作:

$('img').error(function(){ 
    if($(this).attr('src') == 'some_img_url.jpg'){ 
     $(this).attr('src', 'site_media/banner.jpg?_=' + Math.random()); 
    } 
}); 

知道爲什麼這是不工作?

編輯:

這是一個URL的問題,就像函數naveed說,現在的工作,我使用jQuery 1.5.1

+1

檢查新圖像的路徑。它看起來不正確的道路。 – NAVEED 2011-06-07 05:50:09

+0

什麼版本的jQuery? 1.6版本最近改變了'attr'方法的工作方式。 – 2011-06-07 05:51:51

回答

0

如果元素未正確放置http://api.jquery.com/error/所以這個error函數被調用如果沒有發生錯誤,函數將不會被調用。將警報置於你的函數中,並檢查它是否被調用。

0

它沒有被調用,因爲在瀏覽器拋出錯誤事件之前,錯誤事件不會被連接到處理函數。 http://api.jquery.com/error/ - 看看這個例子以及他們用jQuery加載img src的原因。