Metoda filter
Metoda filter pusti v naboru le
tiste elemente, ki izpolnjujejo
določen selektor.
Sintaksa
Filtriranje po selektorju:
.filter(selektor);
Parameter je lahko tudi DOM element ali objekt jQuery:
.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:
.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:
<p>besedilo</p>
<p>besedilo</p>
<p class="www">besedilo</p>
<p class="www">besedilo</p>
$('p').prepend('!').filter('.www').append('?');
HTML koda bo tako videti:
<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 '!!!':
<p><strong>besedilo</strong></p>
<p><strong>besedilo</strong></p>
<p>besedilo</p>
<p>besedilo</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
HTML koda bo tako videti:
<p>!!!</p>
<p>!!!</p>
<p>besedilo</p>
<p>besedilo</p>