Метод filter
Метод filter оставља у скупу само
оне елементе који задовољавају
одређени селектор.
Синтакса
Филтрирање по селектору:
.filter(селектор);
Параметар такође може бити DOM елементи или jQuery објекат:
.filter(DOM елемент или jQuery објекат);
Може се такође филтрирати елементи помоћу
функције, која се позива одвојено за
сваки од изабраних елемената. Ако она
врати true, тада ће тренутни елемент бити
укључен у крајњи резултат, ако false
- неће бити укључен. Сами елементи су доступни у функцији,
у променљивој this, а њихови редни бројеви
у скупу — у променљивој index:
.filter(function(index, elem))
Пример
Хајде да пронађемо све пасусе, поставимо им на
почетак текст '!' помоћу
prepend,
затим добијемо из пронађених само пасусе
са класом www помоћу filter
и поставимо им на крај текст '?' помоћу
append:
<p>текст</p>
<p>текст</p>
<p class="www">текст</p>
<p class="www">текст</p>
$('p').prepend('!').filter('.www').append('?');
HTML код ће изгледати овако:
<p>!текст</p>
<p>!текст</p>
<p class="www">!текст?</p>
<p class="www">!текст?</p>
Пример
Хајде да помоћу функције пронађемо све
пасусе, који имају таг
strong
и поставимо им текст '!!!':
<p><strong>текст</strong></p>
<p><strong>текст</strong></p>
<p>текст</p>
<p>текст</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
HTML код ће изгледати овако:
<p>!!!</p>
<p>!!!</p>
<p>текст</p>
<p>текст</p>