2010-11-06 59 views
3

我需要在頁面上進行檢查以檢查某些圖像是否已加載ie。不返回404.如果它們不可用,我想用默認圖像替換圖像。在頁面上查找具有jQuery特定文件名的圖像

我知道我可以分配一個onerror處理程序的圖像。

首先我需要使用一個選擇器,找到所有已包含下面的圖片名稱的源圖像 - > /folder/Product_1234_P.jpg OR /folder/Product_9876_Q.gif

任何想法如何,我可以創建一個高性能選擇器,我可以使用它來查找這樣的圖像,以便我可以檢查圖像是否加載,如果不是,請將圖像名稱替換爲:Product_Default_P.jpg或Product_Default_Q.gif

任何幫助或建議都會很棒。

回答

4

您可以使用圖像的error handlerattribute contains selector像這樣:

$("img[src*=Product]").error(function() { 
    $(this).attr('src', 'notfound.jpeg'); 
}); 
+0

謝謝爲了您的幫助,我想我可能沒有完全解釋自己,圖片的名字是dynmaic,只有PRODUCT這個詞是常量,所以可能是Product_123_P.jpg或Product_8844_D.gif,唯一的常量是它的結構,例如產品下劃線數字下劃線字母擴展 – amateur 2010-11-06 01:50:12

+0

@Niall - 我編輯過 – karim79 2010-11-06 01:52:57

+0

感謝你 - 我需要在大部分時間運行這個我的頁面因此需要儘可能提高性能 - 是這種情況嗎?另外我想用活動函數來綁定它,這樣不僅可以處理頁面元素,還可以觸發具有這種圖像的模式。有任何想法嗎?? – amateur 2010-11-06 01:58:51

1

我猜你的意思是這樣

$("img[src^=/folder/Product_][src$=_P.jpg]") 

即「找到所有與SRC開始與IMG的 「/文件夾/ Product_」,結束時用 「_P.jpg」。

+0

我不認爲它太昂貴。可以使用getElementByTagName獲取DOM對象,並且字符串匹配很便宜。可以和.live()一起使用,但是你必須選擇你想綁定你的函數的事件。 – AndreKR 2010-11-06 02:08:25

相關問題