Metóda filter

Metóda filter ponecháva v súbore len tie prvky, ktoré vyhovujú určenému selektoru.

Syntax

Filtrovanie podľa selektora:

javascript.filter(selektor);

Parameter môže byť tiež DOM elementmi alebo jQuery objektom:

javascript.filter(DOM element alebo jQuery objekt);

Prvky je možné filtrovať aj pomocou funkcie, ktorá je volaná samostatne pre každý z vybraných prvkov. Ak vráti true, tak aktuálny prvok bude zahrnutý do konečného výsledku, ak false - nezahrnutý. Samotné prvky sú v funkcii dostupné, v premennej this, a ich poradové čísla v súbore — v premennej index:

javascript.filter(function(index, elem))

Príklad

Nájdeme všetky odseky, vložíme im na začiatok text '!' pomocou prepend, potom získame z nájdených len odseky s triedou www pomocou filter a vložíme im na koniec text '?' pomocou 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 kód bude vyzerať takto:

html<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>

Príklad

Pomocou funkcie nájdime všetky odseky, ktoré majú tag strong a vložíme im text '!!!':

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 kód bude vyzerať takto:

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

Pozrite tiež

  • metóda find,
    ktorá nájde prvky podľa selektora medzi už nájdenými
  • metóda has,
    ktorá filtruje súbor vybraných prvkov podľa potomkov