Metoden filter
Metoden filter beholder i samlingen bare
de elementene som tilfredsstiller
en bestemt selektor.
Syntaks
Filtrering etter selektor:
.filter(selektor);
Parameteren kan også være DOM-elementer eller et jQuery-objekt:
.filter(DOM-element eller jQuery-objekt);
Man kan også filtrere elementer ved hjelp av
en funksjon, som kalles separat for
hvert av de valgte elementene. Hvis den
returnerer true, vil det nåværende elementet bli
inkludert i sluttresultatet, hvis false
- ikke inkludert. Selve elementene er tilgjengelige i funksjonen,
i variabelen this, og deres ordensnummer
i samlingen — i variabelen index:
.filter(function(index, elem))
Eksempel
La oss finne alle avsnitt, sette teksten
'!' i begynnelsen av dem ved hjelp av
prepend,
deretter hente fra de funnede bare avsnittene
med klassen www ved hjelp av filter
og sette teksten '?' på slutten av dem ved hjelp av
append:
<p>tekst</p>
<p>tekst</p>
<p class="www">tekst</p>
<p class="www">tekst</p>
$('p').prepend('!').filter('.www').append('?');
HTML-koden vil se slik ut:
<p>!tekst</p>
<p>!tekst</p>
<p class="www">!tekst?</p>
<p class="www">!tekst?</p>
Eksempel
La oss ved hjelp av en funksjon finne alle
avsnitt som har taggen
strong
og sette teksten '!!!' til dem:
<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('!!!');
HTML-koden vil se slik ut:
<p>!!!</p>
<p>!!!</p>
<p>tekst</p>
<p>tekst</p>