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:
.filter(szelektor);
A paraméter lehet DOM elem vagy jQuery objektum is:
.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:
.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:
<p>szöveg</p>
<p>szöveg</p>
<p class="www">szöveg</p>
<p class="www">szöveg</p>
$('p').prepend('!').filter('.www').append('?');
A HTML kód így fog kinézni:
<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:
<p><strong>szöveg</strong></p>
<p><strong>szöveg</strong></p>
<p>szöveg</p>
<p>szöveg</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
A HTML kód így fog kinézni:
<p>!!!</p>
<p>!!!</p>
<p>szöveg</p>
<p>szöveg</p>