A filter metódus

A filter metódus csak azokat az elemeket hagyja meg a halmazban, amelyek megfelelnek egy adott szelektornak.

Szintaxis

Szűrés szelektorral:

javascript.filter(szelektor);

A paraméter lehet DOM elem vagy jQuery objektum is:

javascript.filter(DOM elem vagy jQuery objektum);

Az elemeket függvény segítségével is lehet szűrni, amelyet a kiválasztott elemek mindegyikére külön-külön meghívnak. Ha true-t ad vissza, akkor az aktuális elem bekerül a végeredménybe, ha false-t, akkor nem. Maguk az elemek a függvényben a this változóban érhetők el, sorszámuk pedig a halmazban az index változóban:

javascript.filter(function(index, elem))

Példa

Keressük meg az összes bekezdést, tegyünk eléjük '!' szöveget a prepend segítségével, majd a megtaláltak közül csak a www osztállyal rendelkező bekezdéseket kapjuk meg a filter segítségével, és tegyünk a végükre '?' szöveget a append segítségével:

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

A HTML kód így fog kinézni:

html<p>!szöveg</p>
<p>!szöveg</p>
<p class="www">!szöveg?</p>
<p class="www">!szöveg?</p>

Példa

Keressük meg a függvény segítségével az összes bekezdést, amelyekben van strong címke, és tegyünk eléjük '!!!' szöveget:

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

A HTML kód így fog kinézni:

html<p>!!!</p>
<p>!!!</p>
<p>szöveg</p>
<p>szöveg</p>

Lásd még

  • a find metódus,
    amely szelektor alapján talál elemeket a már megtaláltak között
  • a has metódus,
    amely a kiválasztott elemek halmazát szűri leszármazottak alapján