Метад filter
Метад filter пакідае ў наборы толькі
тыя элементы, якія задавальняюць
пэўны селектар.
Сінтаксіс
Фільтрацыя па селектару:
.filter(селектар);
Параметр таксама можа быць DOM элементамі ці аб'ектам jQuery:
.filter(DOM элемент ці аб'ект jQuery);
Можна таксама фільтраваць элементы з дапамогай
функцыі, якая выклікаецца асобна для
кожнага з абраных элементаў. Калі яна
вяртае true, то бягучы элемент будзе
ўключаны ў канчатковы вынік, калі false
- не ўключаны. Самыя элементы даступныя ў функцыі,
у зменнай this, а іх парадкавыя нумары
ў наборы — ў зменнай index:
.filter(function(index, elem))
Прыклад
Давайце знойдзем усе абзацы, паставім ім у
пачатак тэкст '!' з дапамогай
prepend,
затым атрымаем з знойдзеных толькі абзацы
з класам www з дапамогай filter
і паставім ім у канец тэкст '?' з дапамогай
append:
<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
$('p').prepend('!').filter('.www').append('?');
HTML код стане выглядаць так:
<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>
Прыклад
Давайце з дапамогай функцыі знойдзем усе
абзацы, у якіх ёсць тэг
strong
і паставім ім тэкст '!!!':
<p><strong>text</strong></p>
<p><strong>text</strong></p>
<p>text</p>
<p>text</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
HTML код стане выглядаць так:
<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>