การรวมตัวเลือกคลาสและตัวเลือกแอททริบิวกับ jQuery


147

เป็นไปได้หรือไม่ที่จะรวมทั้งตัวเลือกคลาสและตัวเลือกคุณลักษณะเข้ากับ jQuery?

ตัวอย่างเช่นกำหนด HTML ต่อไปนี้:

<TABLE>
  <TR class="myclass" reference="12345"><TD>Row 1</TD></TR>
  <TR class="otherclass" reference="12345"><TD>Row 2</TD></TR>
  <TR class="myclass" reference="12345"><TD>Row 3</TD></TR>
  <TR class="myclass" reference="54321"><TD>Row 4</TD></TR>
</TABLE>

ตัวเลือกใดที่ฉันสามารถใช้เพื่อเลือกแถว 1 และ 3 เท่านั้น

ฉันเหนื่อย:

$(".myclass [reference=12345]") // returns nothing

$(".myclass, [reference=12345]") // returns all 4 rows (yes, I know the comma means 'or')

ฉันแน่ใจว่าคำตอบนั้นง่ายมากและฉันได้ลองค้นหาฟอรัมและเอกสารของ jQuery แล้ว แต่ฉันไม่สามารถหาคำตอบได้ ใครช่วยได้บ้าง

คำตอบ:


290

รวมพวกเขา แท้จริงรวมพวกเขา; แนบพวกเขาเข้าด้วยกันโดยไม่มีเครื่องหมายวรรคตอนใด ๆ

$('.myclass[reference="12345"]')

ตัวเลือกแรกของคุณจะค้นหาองค์ประกอบที่มีค่าแอททริบิวต์ซึ่งมีอยู่ในองค์ประกอบที่มีคลาส
พื้นที่ที่จะถูกตีความว่าเป็นตัวเลือกลูกหลาน

ตัวเลือกที่สองของคุณอย่างที่คุณพูดจะมองหาองค์ประกอบที่มีค่าแอตทริบิวต์หรือคลาสหรือทั้งสองอย่าง
เครื่องหมายจุลภาคถูกตีความว่าเป็นตัวดำเนินการตัวเลือกหลายตัว - อะไรก็ตามที่หมายความว่า (ตัวเลือก CSS ไม่ได้มีแนวคิดของ "ตัวดำเนินการ";


1
ฉันสามารถรวมรหัสด้วยได้หรือไม่ ฉันหมายถึงเช่นนี้: $ ('. myclass [myid = "6"]')
Rahul Pawar



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