Metoda filter

Metoda filter pusti v naboru le tiste elemente, ki izpolnjujejo določen selektor.

Sintaksa

Filtriranje po selektorju:

javascript.filter(selektor);

Parameter je lahko tudi DOM element ali objekt jQuery:

javascript.filter(DOM element ali objekt jQuery);

Elemente je mogoče filtrirati tudi s pomočjo funkcije, ki se kliče posebej za vsakega izmed izbranih elementov. Če ta vrne true, bo trenutni element vključen v končni rezultat, če false - ne bo vključen. Sami elementi so v funkciji dostopni v spremenljivki this, njihove zaporedne številke v naboru pa v spremenljivki index:

javascript.filter(function(index, elem))

Primer

Poiščimo vse odstavke, postavimo jim na začetek besedilo '!' s pomočjo prepend, nato iz najdenih pridobimo le odstavke z razredom www s pomočjo filter in jim na konec postavimo besedilo '?' s pomočjo append:

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

HTML koda bo tako videti:

html<p>!besedilo</p>
<p>!besedilo</p>
<p class="www">!besedilo?</p>
<p class="www">!besedilo?</p>

Primer

S pomočjo funkcije poiščimo vse odstavke, ki vsebujejo tag strong in jim postavimo besedilo '!!!':

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

HTML koda bo tako videti:

html<p>!!!</p>
<p>!!!</p>
<p>besedilo</p>
<p>besedilo</p>

Glejte tudi

  • metoda find,
    ki najde elemente po selektorju med že najdenimi
  • metoda has,
    ki filtrira nabor izbranih elementov po potomcih