ฉันเพิ่งดูปลั๊กอินปุ่ม jQueryUI และสังเกตเห็นสิ่งนี้
$("button, input:submit, a", ".demo").button();
ฉันไม่เคยเห็นอะไรแบบนี้ นี่เหมือนกับการเลือกหลายรายการในตัวเลือก jQuery เดียวหรือไม่?
ฉันเพิ่งดูปลั๊กอินปุ่ม jQueryUI และสังเกตเห็นสิ่งนี้
$("button, input:submit, a", ".demo").button();
ฉันไม่เคยเห็นอะไรแบบนี้ นี่เหมือนกับการเลือกหลายรายการในตัวเลือก jQuery เดียวหรือไม่?
คำตอบ:
อาร์กิวเมนต์ที่สอง ( ".demo"
ในตัวอย่างของคุณ) คือบริบทโดยพื้นฐานแล้วตัวเลือกของคุณถูก จำกัด ให้จับคู่เฉพาะลูกหลานของบริบทที่กำหนด:
$(expr, context)
เทียบเท่ากับการใช้find
วิธีการ:
$(context).find(expr)
ดูเอกสารของฟังก์ชัน jQuery :
บริบทตัวเลือก
โดยค่าเริ่มต้นตัวเลือกจะทำการค้นหาภายใน DOM โดยเริ่มจากรูทเอกสาร อย่างไรก็ตามสามารถกำหนดบริบททางเลือกสำหรับการค้นหาได้โดยใช้พารามิเตอร์ที่สองที่เป็นทางเลือกให้กับ
$()
ฟังก์ชัน ตัวอย่างเช่นหากเราต้องการค้นหาองค์ประกอบภายในฟังก์ชันเรียกกลับเราสามารถ จำกัด การค้นหานั้นได้:
$('div.foo').click(function() {
$('span', this).addClass('bar');
// it will find span elements that are
// descendants of the clicked element (this)
});
โปรดสังเกตด้วยว่าตัวเลือกที่คุณโพสต์"button, input:submit, a"
เรียกว่าตัวเลือกหลายตัวและคุณสามารถระบุตัวเลือกจำนวนเท่าใดก็ได้เพื่อรวมเป็นผลลัพธ์เดียวเพียงแค่คั่นด้วยเครื่องหมายจุลภาค