2010-12-21 11 views
25

Morgen alle,Bild finden src das: enthält?

Ich habe eine Liste der Bilder, etwa so:

<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 verwenden, wie alle Bild src der innerhalb ul # Vorbelastung, die eine bestimmte Zeichenfolge zB enthalten finden "grüne"

. wie etwas ...

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

Antwort

51

Sie müssen the *= selector verwenden:

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

Wenn Sie es wollen, Groß- und Kleinschreibung sein, wird es etwas schwieriger sein:

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

Vielen Dank Gabi! Funktioniert perfekt! –

+0

Ihr zweites Beispiel würde einen Fehler werfen, Zahlen haben keine Methode '.toLowerCase()'. –

+2

Wie kann ich diese Logik verwenden, um alle Bilder zu finden, die nicht grün sind? – dubbs

10

Sie können eine attribute-contains selector ([attr*=value]) wie folgt verwenden:

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

falsch. 'grün' sollte in Anführungszeichen stehen. Aus dem Link: "Zitate sind Pflichtfelder." –

+1

schön, ist es Groß-und Kleinschreibung? denke, es wäre ... wie kann ich es verwenden, um nicht die Groß-/Kleinschreibung zu beachten? –

+1

@Gabi - sie sind nicht erforderlich, testen Sie es selbst ... Sie werden nur benötigt, wenn der Wert irgendwelche Sonderzeichen enthält. –

Verwandte Themen