Methode filter
Die Methode filter lässt im Set nur
diejenigen Elemente übrig, die einem
bestimmten Selektor entsprechen.
Syntax
Filterung nach Selektor:
.filter(Selektor);
Der Parameter kann auch DOM-Elemente oder ein jQuery-Objekt sein:
.filter(DOM-Element oder jQuery-Objekt);
Elemente können auch mit Hilfe einer
Funktion gefiltert werden, die separat für
jedes der ausgewählten Elemente aufgerufen wird. Wenn sie
true zurückgibt, wird das aktuelle Element in
das Endergebnis aufgenommen, bei false
- nicht aufgenommen. Die Elemente selbst sind in der Funktion
in der Variable this verfügbar, und ihre Ordnungsnummern
im Set - in der Variable index:
.filter(function(index, elem))
Beispiel
Lassen Sie uns alle Absätze finden, ihnen den Text
'!' mit Hilfe von
prepend
voranstellen,
dann aus den gefundenen nur die Absätze
mit der Klasse www mit Hilfe von filter
herausfiltern
und ihnen den Text '?' mit Hilfe von
append
anhängen:
<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
$('p').prepend('!').filter('.www').append('?');
Der HTML-Code sieht dann so aus:
<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>
Beispiel
Lassen Sie uns mit Hilfe einer Funktion alle
Absätze finden, die ein
strong
Tag enthalten,
und ihnen den Text '!!!' setzen:
<p><strong>text</strong></p>
<p><strong>text</strong></p>
<p>text</p>
<p>text</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
Der HTML-Code sieht dann so aus:
<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>