Metoda filter
Metoda filter păstrează în set doar
acele elemente care satisfac
un anumit selector.
Sintaxă
Filtrare după selector:
.filter(selector);
Parametrul poate fi de asemenea elemente DOM sau un obiect jQuery:
.filter(element DOM sau obiect jQuery);
Se pot filtra elemente și cu ajutorul
unei funcții, care este apelată separat pentru
fiecare dintre elementele selectate. Dacă ea
returnează true, atunci elementul curent va fi
inclus în rezultatul final, dacă false
- nu va fi inclus. Elementele în sine sunt disponibile în funcție,
în variabila this, iar numerele lor de ordine
în set — în variabila index:
.filter(function(index, elem))
Exemplu
Să găsim toate paragrafele, să le punem la
început textul '!' cu ajutorul
prepend,
apoi să obținem dintre cele găsite doar paragrafele
cu clasa www cu ajutorul filter
și să le punem la sfârșit textul '?' cu ajutorul
append:
<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
$('p').prepend('!').filter('.www').append('?');
Codul HTML va arăta astfel:
<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>
Exemplu
Să găsim cu ajutorul unei funcții toate
paragrafele care au tag-ul
strong
și să le punem textul '!!!':
<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('!!!');
Codul HTML va arăta astfel:
<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>