jQuery

2008-12-18 6 views
16

के साथ उचित अभिभावक ढूँढना एक डीओएम तत्व को देखते हुए मैं किसी दिए गए सीएसएस वर्ग के साथ अपने निकटतम माता-पिता को कैसे ढूंढूं?jQuery

$(".editButton").click(function() { 
    (magic container selector goes here).addClass("editing"); 
}); 

मैं बहुत सारे या $ (...) का उपयोग नहीं करना चाहते हैं। माता-पिता()। माता-पिता() के बाद से मैं एक विशेष डोम संरचना करने के लिए बाध्य होने के लिए नहीं करना चाहती।

उत्तर

31

यह

$(this).parents('.classYouWant:first').addClass("editing"); 
+1

क्या मैं यह सोचने में सही नहीं हूं कि सभी jquery फ़ंक्शन वास्तव में एक सूची लौटाते हैं। यदि ऐसा है, तो आप $ (यह) करना चाहते हैं। माता-पिता ('। ClassYouWant: first') (इसे आज़माएं!) – Jennifer

+0

@ जेनिफर: यदि आप तत्व 1 से अधिक माता-पिता थे तो यह सही होगा, तो यह सभी को संपादित करेगा उन्हें। आपको एक उत्तर पोस्ट करना चाहिए था। मैं इसे स्वीकार करूंगा। –

+0

तो: सबसे पहले, इस उदाहरण में, निकटतम माता-पिता को $ (इस) के साथ .classYouWant मिल जाता है? तो यूपी डोम जिस तरह से काम कर रहा है? –

2

आप माता-पिता चयन का उपयोग कर सकते हैं। उदाहरण के लिए $(".myclass:parent").something(); क्लास माईक्लास के साथ सभी तत्व पाएंगे जिनमें बच्चे हैं।

+0

हालांकि सही है, यह सवाल को संबोधित नहीं करता है क्योंकि यह किसी विशेष डोम तत्व के लिए अभिभावक नहीं है। –

11
$(this).closest('.yourselector') 

नाम बताता है के रूप में, this तत्व के लिए निकटतम पूर्वज पाता है।

+0

+1 यह मेरी प्राथमिकता है, जब मुझे पता है कि मैं केवल 1 तत्व के बाद हूं – Evildonald