მეთოდი 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>