วิธี 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>