Metod filter
Metod filter ostavlja u skupu samo
one elemente koji zadovoljavaju
određeni selektor.
Sintaksa
Filtriranje po selektoru:
.filter(selektor);
Parametar takođe može biti DOM elementi ili jQuery objekat:
.filter(DOM element ili jQuery objekat);
Može se takođe filtrirati elemente pomoću
funkcije, koja se poziva posebno za
svaki od odabranih elemenata. Ako ona
vrati true, onda će trenutni element biti
uključen u krajnji rezultat, ako false
- neće biti uključen. Sami elementi su dostupni u funkciji,
u promenljivoj this, a njihovi redni brojevi
u skupu — u promenljivoj index:
.filter(function(index, elem))
Primer
Hajde da pronađemo sve pasuse, stavimo im na
početak tekst '!' pomoću
prepend,
zatim da dobijemo iz pronađenih samo pasuse
sa klasom www pomoću filter
i da stavimo im na kraj tekst '?' pomoću
append:
<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
$('p').prepend('!').filter('.www').append('?');
HTML kod će tada izgledati ovako:
<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>
Primer
Hajde pomoću funkcije da pronađemo sve
pasuse, kod kojih postoji tag
strong
i da im stavimo tekst '!!!':
<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('!!!');
HTML kod će tada izgledati ovako:
<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>