Filter metodu
filter metodu çoxluqda yalnız
müəyyən sektor tələblərinə cavab verən
elementləri saxlayır.
Sintaksis
Sektora görə filtrləmə:
.filter(selektor);
Parametr həmçinin DOM elementləri və ya jQuery obyekti ola bilər:
.filter(DOM element və ya jQuery obyekti);
Elementləri həmçinin funksiya vasitəsilə
filtrləmək olar, hansı ki, seçilmiş hər bir
element üçün ayrıca çağırılır. Əgər o
true qaytarırsa, onda hazırkı element
son nəticəyə daxil ediləcək, əgər false
- daxil edilməyəcək. Elementlərin özləri funksiyada,
this dəyişənində əlçatandır,
çoxluqdakı sıra nömrələri isə index
dəyişənində:
.filter(function(index, elem))
Nümunə
Gəlin bütün abzasları tapaq, onların əvvəlinə
prepend vasitəsilə
'!' mətnini qoyaq,
sonra tapılanlar arasından filter
vasitəsilə yalnız www sinfinə malik abzasları
götürək və onların sonuna append
vasitəsilə '?' mətnini qoyaq:
<p>mətn</p>
<p>mətn</p>
<p class="www">mətn</p>
<p class="www">mətn</p>
$('p').prepend('!').filter('.www').append('?');
HTML kodu belə görünəcək:
<p>!mətn</p>
<p>!mətn</p>
<p class="www">!mətn?</p>
<p class="www">!mətn?</p>
Nümunə
Gəlin funksiya vasitəsilə içində
strong
teqi olan bütün abzasları tapaq
və onlara '!!!' mətnini qoyaq:
<p><strong>mətn</strong></p>
<p><strong>mətn</strong></p>
<p>mətn</p>
<p>mətn</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
HTML kodu belə görünəcək:
<p>!!!</p>
<p>!!!</p>
<p>mətn</p>
<p>mətn</p>