วิธี 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,
    ซึ่งกรองชุดองค์ประกอบที่เลือกตามลูกหลาน