2010-12-21 72 views
25

上午所有,找到圖片src:包含?

我有圖像的列表,像這樣:

<ul id="preload" style="display:none;"> 
<li><img src="afx4000z-navy-icon-1_thumb.jpg"/></li> 
<li><img src="afx4000z-green-icon-1_thumb.jpg"/></li> 
</ul> 

使用jQuery如何找到UL#預緊內的所有圖片src的含有特定字符串,例如「綠色」

。像...

var new_src = jQuery('#preload img').attr('src')*** that contains green ***; 

回答

51

您需要使用the *= selector

jQuery('#preload img[src*="green"]') 

如果你希望它是區分大小寫的,這將是一個有點難度:

var keyword = "green"; 
$("#preload img").filter(function(keyword) { 
    return $(this).attr("src").toLowerCase().indexOf(keyword.toLowerCase()) != -1; 
}); 
+0

非常感謝Gabi!完美的作品! – 2010-12-21 10:44:51

+0

你的第二個例子會拋出一個錯誤,數字沒有'.toLowerCase()'方法。 – 2010-12-21 11:26:38

+2

我怎樣才能用這個邏輯找出所有沒有綠色的圖像? – dubbs 2014-06-19 09:29:34

10

您可以使用attribute-contains selector[attr*=value]),像這樣:

jQuery('#preload img[src*=green]') 
+2

錯誤。 '綠色'應該在引號中。從鏈接:「行情是強制性的。」 – 2010-12-21 10:28:13

+1

可愛,是否區分大小寫?猜猜它會是...我怎樣才能使用它不區分大小寫? – 2010-12-21 10:28:53

+1

@Gabi - 它們不是必需的,請自己測試...只有當值包含任何特殊字符時才需要它們。 – 2010-12-21 11:24:11