Metodas filter
Metodas filter palieka rinkinyje tik
tus elementus, kurie atitinka
tam tikrą selektorių.
Sintaksė
Filtravimas pagal selektorių:
.filter(selektorius);
Parametras taip pat gali būti DOM elementai arba jQuery objektas:
.filter(DOM elementas arba jQuery objektas);
Taip pat galima filtruoti elementus naudojant
funkciją, kuri iškviečiama atskirai kiekvienam
iš pasirinktų elementų. Jei ji
grąžina true, tada dabartinis elementas bus
įtrauktas į galutinį rezultatą, jei false
- neįtrauktas. Patys elementai prieinami funkcijoje,
kintamajame this, o jų eilės numeriai
rinkinyje — kintamajame index:
.filter(function(index, elem))
Pavyzdys
Raskime visus paragrafus, parašykime jų
pradžioje tekstą '!' naudodami
prepend,
tada gautume iš rastų tik paragrafus
su klase www naudodami filter
ir parašykime jų pabaigoje tekstą '?' naudodami
append:
<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
$('p').prepend('!').filter('.www').append('?');
HTML kodas atrodys taip:
<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>
Pavyzdys
Naudodami funkciją suraskime visus
paragrafus, kuriuose yra žymė
strong
ir parašykime jiems tekstą '!!!':
<p><strong>text</strong></p>
<p><strong>text</strong></p>
<p>text</p>
<p>text</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
HTML kodas atrodys taip:
<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>