მეთოდი filter

მეთოდი filter ტოვებს სიმრავლეში მხოლოდ იმ ელემენტებს, რომლებიც აკმაყოფილებენ კონკრეტულ სელექტორს.

სინტაქსი

ფილტრაცია სელექტორით:

javascript.filter(სელექტორი);

პარამეტრი ასევე შეიძლება იყოს DOM ელემენტები ან jQuery ობიექტი:

javascript.filter(DOM ელემენტი ან jQuery ობიექტი);

ასევე შესაძლებელია ელემენტების ფილტრაცია ფუნქციის საშუალებით, რომელიც იწოდება ცალკე თითოეული არჩეული ელემენტისთვის. თუ ის აბრუნებს true, მაშინ მიმდინარე ელემენტი იქნება შეტანილი საბოლოო შედეგში, თუ false - არ იქნება შეტანილი. თავად ელემენტები ხელმისაწვდომია ფუნქციაში, ცვლადში this, ხოლო მათი რიგითი ნომრები სიმრავლეში — ცვლადში index:

javascript.filter(function(index, elem))

მაგალითი

მოდი ვიპოვოთ ყველა აბზაცი, დავუსვათ მათ დასაწყისში ტექსტი '!' საშუალებით prepend, შემდეგ მივიღოთ ნაპოვნებიდან მხოლოდ აბზაცები კლასით www საშუალებით filter და დავუსვათ მათ ბოლოში ტექსტი '?' საშუალებით append:

html<p>ტექსტი</p>
<p>ტექსტი</p>
<p class="www">ტექსტი</p>
<p class="www">ტექსტი</p>
javascript$('p').prepend('!').filter('.www').append('?');

HTML კოდი ასე გამოიყურება:

html<p>!ტექსტი</p>
<p>!ტექსტი</p>
<p class="www">!ტექსტი?</p>
<p class="www">!ტექსტი?</p>

მაგალითი

მოდი ფუნქციის საშუალებით ვიპოვოთ ყველა აბზაცი, რომელსაც აქვს თეგი strong და დავუსვათ მათ ტექსტი '!!!':

html<p><strong>ტექსტი</strong></p>
<p><strong>ტექსტი</strong></p>
<p>ტექსტი</p>
<p>ტექსტი</p>
javascript$('p').filter(function() {
  return $('strong', this).length === 1;
}).html('!!!');

HTML კოდი ასე გამოიყურება:

html<p>!!!</p>
<p>!!!</p>
<p>ტექსტი</p>
<p>ტექსტი</p>

იხილეთ ასევე

  • მეთოდი find,
    რომელიც პოულობს ელემენტებს სელექტორით უკვე ნაპოვნებს შორის
  • მეთოდი has,
    რომელიც აფილტრავს არჩეული ელემენტების სიმრავლეს შთამომავლების მიხედვით