หากฉันมีดังต่อไปนี้:
<div class="apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>
ฉันสามารถใช้ตัวเลือกต่อไปนี้เพื่อค้นหา DIV สองตัวแรก:
$("div[class^='apple-']")
อย่างไรก็ตามถ้าฉันมีสิ่งนี้:
<div class="some-other-class apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>
จะพบเฉพาะ DIV ตัวที่สองเนื่องจากคลาสของ div แรกถูกส่งคืนเป็นสตริง (ฉันคิดว่า) และไม่ได้เริ่มต้นด้วย 'apple-' แต่แทนที่จะเป็น 'some-'
วิธีหนึ่งที่ไม่ควรใช้เริ่มต้นด้วย แต่มี:
$("div[class*='apple-']")
ปัญหาที่เกิดขึ้นคือมันจะเลือก DIV ที่ 3 ในตัวอย่างของฉัน
คำถาม: ผ่าน jQuery วิธีที่เหมาะสมในการใช้ตัวเลือกเพรดิเคตกับชื่อคลาสแต่ละชื่อแทนที่จะใช้แอตทริบิวต์คลาสทั้งหมดเป็นสตริง มันเป็นแค่เรื่องของการคว้า CLASS แล้วแยกมันออกเป็นอาเรย์แล้ววนซ้ำแต่ละอันด้วย regex? หรือมีวิธีการแก้ปัญหา verbose ที่หรูหรา / น้อยกว่ามากขึ้น?