Метод 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>