De filter Methode
De methode filter behoudt in de set alleen
die elementen die voldoen aan een
bepaalde selector.
Syntaxis
Filteren op selector:
.filter(selector);
De parameter kan ook DOM elementen of een jQuery object zijn:
.filter(DOM element of jQuery object);
Elementen kunnen ook worden gefilterd met behulp van
een functie, die afzonderlijk wordt aangeroepen voor
elk van de geselecteerde elementen. Als deze
true teruggeeft, wordt het huidige element
opgenomen in het eindresultaat, als het false
teruggeeft - niet opgenomen. De elementen zelf zijn beschikbaar in de functie,
in de variabele this, en hun volgnummers
in de set — in de variabele index:
.filter(function(index, elem))
Voorbeeld
Laten we alle alinea's vinden, ze vooraan de tekst
'!' geven met behulp van
prepend,
vervolgens uit de gevondenen alleen de alinea's
met de klasse www verkrijgen met behulp van filter
en ze achteraan de tekst '?' geven met behulp van
append:
<p>tekst</p>
<p>tekst</p>
<p class="www">tekst</p>
<p class="www">tekst</p>
$('p').prepend('!').filter('.www').append('?');
De HTML-code ziet er dan zo uit:
<p>!tekst</p>
<p>!tekst</p>
<p class="www">!tekst?</p>
<p class="www">!tekst?</p>
Voorbeeld
Laten we met behulp van een functie alle
alinea's vinden waarin de tag
strong
voorkomt en ze de tekst '!!!' geven:
<p><strong>tekst</strong></p>
<p><strong>tekst</strong></p>
<p>tekst</p>
<p>tekst</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
De HTML-code ziet er dan zo uit:
<p>!!!</p>
<p>!!!</p>
<p>tekst</p>
<p>tekst</p>