Filter metodu
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>