Metoda filter

Metoda filter ponechá v sadě pouze ty prvky, které vyhovují určitému selektoru.

Syntaxe

Filtrování podle selektoru:

javascript.filter(selektor);

Parametr může být také DOM elementy nebo objekt jQuery:

javascript.filter(DOM element nebo objekt jQuery);

Prvky lze také filtrovat pomocí funkce, která je volána samostatně pro každý z vybraných prvků. Pokud vrátí true, bude aktuální prvek zařazen do konečného výsledku, pokud false - nebude zařazen. Samotné prvky jsou dostupné ve funkci, v proměnné this, a jejich pořadová čísla v sadě — v proměnné index:

javascript.filter(function(index, elem))

Příklad

Pojďme najít všechny odstavce, přidat jim na začátek text '!' pomocí prepend, poté získat z nalezených pouze odstavce s třídou www pomocí filter a přidat jim na konec text '?' pomocí 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 poté vypadat takto:

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

Příklad

Pojďme pomocí funkce najít všechny odstavce, které obsahují tag strong a nastavit jim 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 poté vypadat takto:

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

Viz také

  • metoda find,
    která nachází prvky podle selektoru mezi již nalezenými
  • metoda has,
    která filtruje sadu vybraných prvků podle potomků