Метод filter

Метод filter оставља у скупу само оне елементе који задовољавају одређени селектор.

Синтакса

Филтрирање по селектору:

javascript.filter(селектор);

Параметар такође може бити DOM елементи или jQuery објекат:

javascript.filter(DOM елемент или jQuery објекат);

Може се такође филтрирати елементи помоћу функције, која се позива одвојено за сваки од изабраних елемената. Ако она врати true, тада ће тренутни елемент бити укључен у крајњи резултат, ако false - неће бити укључен. Сами елементи су доступни у функцији, у променљивој this, а њихови редни бројеви у скупу — у променљивој index:

javascript.filter(function(index, elem))

Пример

Хајде да пронађемо све пасусе, поставимо им на почетак текст '!' помоћу prepend, затим добијемо из пронађених само пасусе са класом www помоћу filter и поставимо им на крај текст '?' помоћу append:

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

HTML код ће изгледати овако:

html<p>!текст</p>
<p>!текст</p>
<p class="www">!текст?</p>
<p class="www">!текст?</p>

Пример

Хајде да помоћу функције пронађемо све пасусе, који имају таг strong и поставимо им текст '!!!':

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

HTML код ће изгледати овако:

html<p>!!!</p>
<p>!!!</p>
<p>текст</p>
<p>текст</p>

Погледајте такође

  • метод find,
    који налази елементе по селектору међу већ пронађеним
  • метод has,
    који филтрира скуп изабраних елемената по потомацима