2011-08-03 10 views
115

में एक DIV के भीतर वर्ग के साथ आइटम का चयन करते हैं मैं निम्न HTML है:मैं कैसे JQuery

<div id="mydiv"><div class="myclass"></div></div>

मैं एक चयनकर्ता कि अंदर div का चयन करता है का उपयोग करने में सक्षम होना चाहते हैं, लेकिन के लिए विशिष्ट " mydiv "कंटेनर। मैं JQuery के साथ इसे कैसे प्राप्त कर सकता हूं?

उत्तर

243

प्रयास करें:

$('#mydiv').find('.myclass'); 

JS Fiddle demo

या:

$('.myclass','#mydiv'); 

JS Fiddle demo

या:

$('#mydiv .myclass'); 

JS Fiddle demo

संदर्भ:

+1

दूसरा दो काम नहीं करेगा, लेकिन ठीक है। दूसरा दो प्रत्येक वर्ग = myclass का चयन करेगा और हर आईडी = mydiv का चयन करेगा) मुझे लगता है। – czupe

+2

@czupe: नहीं, जबकि संदर्भ-चयनकर्ता दृष्टिकोण अलग-अलग jQuery अनुप्रयोगों को लिखा गया है, आंतरिक रूप से, वही '$ ('# mydiv')। '' Myclass ') ढूंढें;' पहले कोड स्निपेट में उपयोग के रूप में दृष्टिकोण। संयोग से: '... हर 'id = mydiv'' का चयन करें?किसी पृष्ठ में केवल * कभी * किसी दिए गए 'आईडी' का उपयोग होना चाहिए (एक आईडी आईडी [*** *** *** दस्तावेज़ के भीतर अद्वितीय होना चाहिए] (http://www.w3.org/TR/ html401/struct/global.html # ज-7.5.2))। –

+0

@ डेविड थॉमस वैसे मैंने अभी $ ('# mydiv .myclass') की कोशिश की; और यह उन सभी divs का चयन करना समाप्त कर दिया जिनमें क्लास myclass है, बल्कि mydiv के भीतर divs की बजाय। – user3281466

19

इस

$("#mydiv div.myclass") 
+0

या यदि आपको कोई परवाह नहीं है कि यह 'div' है (या यदि यह हमेशा' div 'होगा ') आप $ (" # mydiv .myclass ") को सरल बना सकते हैं। –

+0

@ माइकल - हां, हम सिर्फ .mycalss कह सकते हैं, लेकिन अगर हम इसे एक div जानते हैं, div.myclass खोज को तेज़ी से बना देगा। – ShankarSangoli

+0

@ शंकर, यह शायद अधिक तेज़ नहीं बल्कि धीमा कर देगा। मानते हैं कि jquery sizzle का उपयोग करता है और मूल 'document.queryselectorall' नहीं, यह शायद उसी फैशन में खोज करेगा और आपके मामले में ** अतिरिक्त ** जांच करेगा। संभव है कि देशी कार्यान्वयन वही करते हैं। – davin

10

आप इसे उसी तरह आप एक सीएसएस चयनकर्ता लागू होगा करूँगा की कोशिश करो। instanse के लिए आप क्या कर सकते हैं

$("#mydiv > .myclass") 

या

$("#mydiv .myclass") 

पिछले एक myDiv अंदर हर MyClass, MyClass अंदर MyClass सहित मेल खाएगी।

1

इसके बजाय $(".video-divs.focused") पर आज़माएं। यह काम करता है अगर आप केंद्रित वीडियो-divs की तलाश में हैं।

-2

अधिक कुशल और तेजी से एक है ...

$('#mydiv').find('.myclass').html('<span>Hello World</span>'); 
+1

स्वीकार्य व्यक्ति को, लगभग 3 साल बाद, एक समान-समान उत्तर जोड़ना, वास्तव में किसी के लिए कोई मूल्य नहीं जोड़ता है (आपके सीरियल अपवॉटिंग दोस्तों को छोड़कर): पी –

3

आप हर तत्व वर्ग विशेषता है कि चयन करने के लिए चाहते हैं "MyClass" का उपयोग

$('#mydiv .myclass'); 

आप केवल div तत्वों का चयन करना चाहते हैं जिसमें वर्ग विशेषता "myclass" का उपयोग

$("div#mydiv div.myclass"); 

jquery चयनकर्ताओं के संदर्भ के बारे में अधिक जानकारी प्राप्त करें ये articles