jQuery: เลือกตามคลาสและประเภทอินพุต


120

ฉันต้องการเลือกชุดขององค์ประกอบที่เป็นทั้งประเภทอินพุตบางประเภท (เช่นช่องทำเครื่องหมาย) และมีคลาสที่ใช้ jQuery อย่างไรก็ตามเมื่อฉันลองทำสิ่งต่อไปนี้:

 $("input:checkbox .myClass")

ฉันไม่ได้รับสินค้าคืน ฉันจะทำสิ่งนี้ให้สำเร็จใน jQuery ได้อย่างไร?

คำตอบ:


210

ตัวเลือกของคุณที่กำลังมองหาลูกหลานขององค์ประกอบใด ๆ .myClassช่องทำเครื่องหมายที่มีระดับของ

ลองสิ่งนี้แทน:

$("input.myClass:checkbox")

ตรวจสอบออกในการดำเนินการ

ฉันยังทดสอบสิ่งนี้:

$("input:checkbox.myClass")

และยังจะทำงานได้อย่างถูกต้อง ในความเห็นที่ต่ำต้อยของฉันไวยากรณ์นี้ดูค่อนข้างน่าเกลียดโดยส่วนใหญ่ฉันคาดหวังว่า:ตัวเลือกสไตล์จะอยู่ในอันดับสุดท้าย อย่างที่ฉันบอกว่าอย่างใดอย่างหนึ่งจะได้ผล


51

หากคุณต้องการรับอินพุตประเภทนั้นด้วยคลาสนั้นให้ใช้:

$("input.myClass[type=checkbox]")

ไวยากรณ์ตัวเลือก [] ช่วยให้คุณตรวจสอบกับแอตทริบิวต์องค์ประกอบใด ๆ ตรวจสอบข้อมูลจำเพาะสำหรับรายละเอียดเพิ่มเติม


6

คุณต้องใช้ (สำหรับช่องทำเครื่องหมาย) :checkboxและ.nameแอตทริบิวต์เพื่อเลือกตามชั้นเรียน

ตัวอย่างเช่น:

$("input.aclass:checkbox")

:checkboxเลือก:

จับคู่องค์ประกอบอินพุตทั้งหมดของช่องทำเครื่องหมายประเภท การใช้ psuedo-selector like $(':checkbox')นี้เทียบเท่ากับ$('*:checkbox') ตัวเลือกที่ช้า $('input:checkbox')ก็แนะนำให้ทำ

คุณควรอ่านเอกสาร jQueryเพื่อทราบเกี่ยวกับตัวเลือก


4

คุณควรใช้ชื่อชั้นแบบนี้

$(document).ready(function(){
    $('input.addCheck').prop('checked',true);
});

ลองใช้การ สาธิตสดนี้


1
คำตอบไม่เกี่ยวข้องกับคำถาม
Avnish alok

1
แต่คำตอบนั้นเป็นประโยชน์อย่างยิ่งสำหรับผู้อื่นที่มองหาสิ่งที่คล้ายกัน แต่ไม่ใช่คำถาม OP ที่แน่นอน
camdixon


3

ในกรณีที่หุ่นอย่างฉันลองทำตามคำแนะนำที่นี่ด้วยปุ่มและไม่พบว่าไม่มีอะไรทำงานคุณอาจต้องการสิ่งนี้:

$(':button.myclass')
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.