Meetod filter

Meetod filter jätab hulka ainult need elemendid, mis vastavad kindlale valijale.

Süntaks

Filtreerimine valija järgi:

javascript.filter(valija);

Parameeter võib olla ka DOM elemendid või jQuery objekt:

javascript.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:

javascript.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:

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

HTML-kood näeb välja selline:

html<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 '!!!':

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

HTML-kood näeb välja selline:

html<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>

Vaata ka

  • meetod find,
    mis leiab elemendid valija järgi juba leitud hulgast
  • meetod has,
    mis filtreerib valitud elementide hulka järglaste järgi