2010-12-21 16 views
25

Sabah hepsi,image src'yi bul: şunu içerir?

ben şöyle görüntülerin bir listesi var. Belirli bir dize protein içerenler ül # ön yük içindeki tüm görüntü src 's nasıl bulduklarını "yeşil"

jQuery kullanarak

<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> 

gibi bir şey ...

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

cevap

51

Sen the *= selector kullanmak gerekir:

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

bunu harf duyarsız olmasını istiyorsanız, biraz daha zor olacaktır:

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

Çok teşekkürler Gabi! Mükemmel çalışıyor! –

+0

İkinci örnekte bir hata atılacak, sayılar '.toLowerCase()' yöntemine sahip değil. –

+2

İçinde yeşil olmayan tüm görüntüleri bulmak için bu mantığı nasıl kullanabilirim? – dubbs

10

bir attribute-contains selector ([attr*=value]) böyle kullanabilirsiniz:

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

yanlış. 'yeşil' tırnak içine alınmalıdır. Bağlantıdan: "Tırnaklar zorunludur." –

+1

güzel, büyük/küçük harfe duyarlı mı? tahmin edelim ... büyük/küçük harfe duyarlı olmamak için nasıl kullanabilirim? –

+1

@Gabi - gerekli değil, kendiniz test edin ... sadece değer herhangi bir özel karakter içeriyorsa gereklidir. –