Meetod filter
Meetod filter jätab hulka ainult
need elemendid, mis vastavad
kindlale valijale.
Süntaks
Filtreerimine valija järgi:
.filter(valija);
Parameeter võib olla ka DOM elemendid või jQuery objekt:
.filter(DOM element või jQuery objekt);
Elemente saab filtreerida ka funktsiooni abil,
mida kutsutakse välja iga valitud elemendi kohta eraldi.
Kui see tagastab true, siis praegune element lisatakse
lõpptulemusse, kui false
- siis ei lisata. Elemendid ise on funktsioonis kättesaadavad
muutujas this, ja nende järjekorranumbrid
valikus on muutujas index:
.filter(function(index, elem))
Näide
Leiame kõik lõigud, lisame nende
algusesse teksti '!' abil
prepend,
seejärel saame leitud hulgast ainult lõigud
klassiga www meetodi filter abil
ja lisame nende lõppu teksti '?' abil
append:
<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
$('p').prepend('!').filter('.www').append('?');
HTML-kood näeb välja selline:
<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>
Näide
Leiame funktsiooni abil kõik
lõigud, millel on silt
strong
ja lisame neile teksti '!!!':
<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-kood näeb välja selline:
<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>