2011-06-05 27 views
100

के साथ एक विशेषता चयनकर्ता का संयोजन करना क्या एक वर्ग चयनकर्ता और jQuery के साथ एक विशेषता चयनकर्ता दोनों को गठबंधन करना संभव है?jQuery चयनकर्ता और jQuery

<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 मंचों और प्रलेखन की कोशिश की है, लेकिन मैं इस एक बाहर निकालने नहीं कर पा रहे। क्या कोई मदद कर सकता है?

उत्तर

201

उन्हें संयोजित करें। सचमुच उन्हें गठबंधन करें; बिना किसी विराम चिह्न के संलग्न करें।

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

आपका पहला चयनकर्ता वर्ग के तत्वों में निहित गुण मान वाले तत्वों को ढूंढता है।
अंतरिक्ष को descendant selector के रूप में व्याख्या किया जा रहा है।

आपके दूसरे चयनकर्ता, जैसे आपने कहा, विशेषता मूल्य, या कक्षा, या दोनों के साथ तत्वों को ढूंढता है।
कॉमा को multiple selector ऑपरेटर के रूप में व्याख्या किया जा रहा है - जिसका अर्थ है (सीएसएस चयनकर्ताओं के पास "ऑपरेटर" की धारणा नहीं है; कॉमा शायद अधिक सटीक रूप से एक डिलीमीटर के रूप में जाना जाता है)।

+1

मैं भी आईडी को जोड़ सकते हैं? मेरा मतलब यह है: $ ('। myclass [myid = "6"]') –

+0

धन्यवाद यू आर उत्तर मेरे लिए उपयोगी है .. –

+0

अहह अंतरिक्ष ... –

15

मुझे लगता है कि आपको बस स्थान को हटाने की आवश्यकता है। अर्थात

$(".myclass[reference=12345]").css('border', '#000 solid 1px'); 

वहाँ एक बेला यहाँ http://jsfiddle.net/xXEHY/

6

इस कोड काम करता भी है:

$("input[reference=12345].myclass").css('border', '#000 solid 1px'); 
संबंधित मुद्दे