Metod filter

Metod filter ostavlja u skupu samo one elemente koji zadovoljavaju određeni selektor.

Sintaksa

Filtriranje po selektoru:

javascript.filter(selektor);

Parametar takođe može biti DOM elementi ili jQuery objekat:

javascript.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:

javascript.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:

html<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
javascript$('p').prepend('!').filter('.www').append('?');

HTML kod će tada izgledati ovako:

html<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 '!!!':

html<p><strong>text</strong></p>
<p><strong>text</strong></p>
<p>text</p>
<p>text</p>
javascript$('p').filter(function() {
  return $('strong', this).length === 1;
}).html('!!!');

HTML kod će tada izgledati ovako:

html<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>

Pogledajte takođe

  • metod find,
    koji pronalazi elemente po selektoru među već pronađenim
  • metod has,
    koji filtrira skup odabranih elemenata po potomcima