2012-06-27 12 views
11

विचार के में पहली पेरेंट तत्व को खोजने के लिए -कैसे jQuery एचटीएमएल नीचे

<div class="container1"> 
    <div class="container2"> 
     <div class="container3"> 
     <div class="container4"> 
      <div class="element"> 
      ... 
     </div> 
     </div> 
    </div> 
</div> 

अगर मैं <div class="element"> तत्व प्राप्त करना चाहते हैं और मैं container1 के संदर्भ में है। jQuery मैं क्या कर रहा है,

$(".container1").find(".element") 
बजाय

में -

$(".container1").children().children().children().find(".element") 

इस प्रक्रिया को जब मैं पेरेंट तत्व में से किसी को संदर्भ है किसी भी बच्चे तत्व मिल रहा है। लेकिन मैं एक स्तर ऊपर जाना है बजाय जब मैं एक बच्चे के तत्व के संदर्भ में है और उसके बाद हर बार पेरेंट तत्व प्राप्त करना चाहते हैं -

$(".element").parent().parent().parent().parent() 

और मैं इस तरह नहीं कर सकते -

$(".element").findParent() 

मैं jquery में findParent() जैसी किसी भी विधि में नहीं आया है। क्या वहां मुझे पता नहीं है? या यह किसी कारण से नहीं है?

उत्तर

27
$(".element").parents(); 

.element(html और body सहित) के सभी माता-पिता दे देंगे

DEMO

किसी भी विशिष्ट माता पिता को खोजने के लिए, मान लीजिए container1 तो

$('.element').parents('.container1') 

DEMO

jQuery .parents() आम तौर पर सभी माता-पिता मिल जाए, लेकिन यदि आप एक चयनकर्ता तो पारित कर दिया कहीं भी होगी उस के लिए खोज करें।

+0

यह सही है, मुझे इसके बारे में क्यों पता नहीं चला। – Ashwin

+1

डांग, आपने इसे पोस्ट करने के लिए मुझे हराया। : पी – transparent

+0

@MotaBOS धन्यवाद, दोस्त – thecodeparadox

14

बस का उपयोग

$(".element").closest('#container1'); 

कि अगर id के साथ कोई पूर्वज तो पाया जाता है

$(".element").closest('#container1').length हो जाएगा 0

1

पहले माता-पिता प्राप्त करने के लिए व्यक्तिगत रूप से मैं निम्नलिखित निर्माण का उपयोग करें:

var count_parents = $(".element").parents().length; 
$(".element").parents().eq(count_parents - 1); 

आशा है, यह किसी के लिए उपयोगी होगा।

संबंधित मुद्दे