Kaedah filter
Kaedah filter hanya meninggalkan dalam set
elemen-elemen yang memenuhi
pemilih tertentu.
Sintaks
Penapisan mengikut pemilih:
.filter(pemilih);
Parameter juga boleh menjadi elemen DOM atau objek jQuery:
.filter(elemen DOM atau objek jQuery);
Anda juga boleh menapis elemen menggunakan
fungsi, yang dipanggil secara berasingan untuk
setiap elemen yang dipilih. Jika ia
mengembalikan true, maka elemen semasa akan
dimasukkan ke dalam hasil akhir, jika false
- tidak dimasukkan. Elemen-elemen itu sendiri boleh diakses dalam fungsi,
dalam pembolehubah this, dan nombor indeks mereka
dalam set — dalam pembolehubah index:
.filter(function(index, elem))
Contoh
Mari cari semua perenggan, letakkan teks
'!' di permulaannya dengan
prepend,
kemudian dapatkan daripada yang ditemui hanya perenggan
dengan kelas www menggunakan filter
dan letakkan teks '?' di penghujungnya dengan
append:
<p>teks</p>
<p>teks</p>
<p class="www">teks</p>
<p class="www">teks</p>
$('p').prepend('!').filter('.www').append('?');
Kod HTML akan kelihatan seperti ini:
<p>!teks</p>
<p>!teks</p>
<p class="www">!teks?</p>
<p class="www">!teks?</p>
Contoh
Mari menggunakan fungsi untuk mencari semua
perenggan yang mempunyai tag
strong
dan letakkan teks '!!!' padanya:
<p><strong>teks</strong></p>
<p><strong>teks</strong></p>
<p>teks</p>
<p>teks</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
Kod HTML akan kelihatan seperti ini:
<p>!!!</p>
<p>!!!</p>
<p>teks</p>
<p>teks</p>