2011-03-24 99 views
5

我試圖讓一個jQuery選擇器返回所有沒有特定src的圖像。jQuery圖像src選擇器

$('img[src!="/img/none.png"]') 

這些圖像是已經透明的,因此,出於性能起見,我試圖從我/淡入淡出的那些排除。但查詢仍然SRC返回圖像= /img/none.png

但是,如果我這樣做

$('img[src="/img/none.png"]') 

它將返回只有SRC = /img/none.png圖像。所以它看起來像屬性不等於選擇器被打破?

相關文檔 http://api.jquery.com/attribute-not-equal-selector/

回答

10

嘗試

$('img:not([src="/img/none.png"])'); 

如果還是不行,請嘗試

$('img:not([src$="/img/none.png"])'); 

取決於你在什麼樣的瀏覽器,在src不解釋如你所設置的那樣,它被解釋爲絕對URI,所以你的瀏覽器認爲它是http://www.yoursite.com/img/none.png。我不確定jQuery如何讀取src,因此它可能會提取絕對URI。

+0

如果最後一條語句是原因,然後jQuery的將返回所有圖像,因爲它們不等於任何一個指定... – JCOC611 2011-03-24 01:17:55

+0

+1'$ ='這似乎是一個明智的解決辦法。 – karim79 2011-03-24 01:19:42

+0

@JCOC - 第二個片段使用[attribute-ends-with selector](http://api.jquery.com/attribute-ends-with-selector/),所以會讀取「不以'結尾的圖像'/ IMG/none.png'」。 – 2011-03-24 01:21:08

0

嘗試使用:not selector

$('img:not([src="/img/none.png"])') 

如果你使用,你可能想在另一個答覆中提到使用「attribute ends with」選擇的圖像相對或絕對路徑的混合物。

$('img:not([src$="/img/none.png"])')