2009-03-10 11 views
6

के साथ गतिशील रूप से बनाए गए बच्चे तत्व की ऊंचाई प्राप्त करने के लिए मैं jquery का उपयोग कैसे करूं, मेरे पास एक div है जो गतिशील रूप से दो छवियों के साथ लोड हो जाता है और संभवतः बीच में एक div। न तो छवियों या div में आईडी उनके साथ जुड़ा हुआ है (और मैं उन्हें आईडी नहीं बना सकता)। उन्हें फायरबग के साथ निरीक्षण करना उन्हें <IMG> और <DIV> के रूप में दिखाया गया है। जब यह अस्तित्व में है तो मुझे इस बच्चे के div की ऊंचाई प्राप्त करने की आवश्यकता है।कोई आईडी

मुझे उम्मीद थी कि मैं कुछ इस तरह कर सकता है ...

$("#parentDiv > DIV").height(); 

या इस ...

$("#parentDiv > DIV")[0].height(); 

के बाद से jQuery $ एक सरणी देता है। दूसरा जावास्क्रिप्ट त्रुटियों को देता है इसलिए मुझे पता है कि मैं वहां से हूं। मुझे लगता है कि ये करीब होना चाहिए। कोई विचार?

संपादित करें: यहां एचटीएमएल है जिसके खिलाफ मैं दौड़ रहा हूं।

<DIV id="parentDiv" name="parentDiv"> 
    <IMG style="DISPLAY: block; VERTICAL-ALIGN: bottom; CURSOR: pointer" height="17" src="..." /> 

    <!-- this div may or may not be here --> 
    <DIV style="DISPLAY: block; BACKGROUND-IMAGE: url(...); WIDTH: 16px; CURSOR: pointer; BACKGROUND-REPEAT: repeat-y; POSITION: relative; HEIGHT: 144px; outline: none"> 
     <DIV style="LEFT: 0px; OVERFLOW: hidden; WIDTH: 16px; POSITION: absolute; TOP: 128px; HEIGHT: 8px"> 
      <IMG style="LEFT: 0px; POSITION: absolute; TOP: 0px" height="8" src="..." /> 
     </DIV> 
    </DIV> 

    <IMG style="DISPLAY: block; VERTICAL-ALIGN: bottom; CURSOR: pointer" height="17" src="..." /> 
</DIV> 
+0

कृपया एक लील समझाने अधिक स्पष्ट रूप से? क्या संभवतः 'बीच में एक डीआईवी' का अर्थ है कि संभावित डीआईवी में आईएमजीएस है या संभव डीआईवी आईएमजी के बीच है? यदि आंतरिक डीआईवी मौजूद नहीं है, तो क्या आप परिणामस्वरूप ऊंचाई के लिए शून्य चाहते हैं? –

+0

div दो छवियों के बीच में है, मैं दूसरी छवि को वहां रखना भूल गया, मैं इसे संपादित कर दूंगा। यदि div वहां नहीं है, तो शून्य या 0 दोनों ठीक होंगे। मैं इस तरह से छवियों की ऊंचाई नहीं प्राप्त कर सकता हूं या तो अगर कोई अंतर्दृष्टि प्रदान करता है। – Carter

उत्तर

1

आपका पहला काम करेगा, जब तक आपका चयनकर्ता ठीक है। निम्नलिखित की कोशिश करो और आप क्या मिलता देखें:

$("#parentDiv > DIV").css("background", "pink"); 

आप एक गुलाबी पृष्ठभूमि जहां, उम्मीद थी अपने चयनकर्ता तय नहीं मिलता है, और यह ऊंचाई-बयान के साथ साथ ही काम करेंगे।

6

एक अनुक्रमित jQuery तत्व प्राप्त करने के लिए, eq() समारोह का उपयोग करें:

$("#parentDiv > DIV").eq(0).height(); 

या

$($("#parentDiv > DIV")[0]).height(); 

या

$("#parentDiv > DIV:eq(0)").height(); 
+0

धन्यवाद $ ($ ("# parentDiv> DIV") [0]) ऊंचाई(); मैं सबसे करीब के बारे में है। यह एक अप्रत्याशित परिणाम लौट रहा है हालांकि (664, यह इतना बड़ा नहीं होना चाहिए)। मुझे इसके साथ खेलना होगा। – Carter

+0

समस्या यह भी हो सकती है कि आप छवि के लिए पूर्ण स्थिति का उपयोग कर रहे हैं, इसे किसी अन्य चीज़ पर सेट करने का प्रयास करें और देखें कि आपकी ऊंचाई saner है – cobbal

+0

मुझे लगता है कि आप सही हो सकते हैं। हालांकि, वह कोड स्वतः उत्पन्न होता है। मैं div को उस कोड को चारों तरफ ले जा सकता हूं जो चीजों को बदलता है, लेकिन मैं पोस्ट किए गए किसी भी कोड को नहीं बदल सकता। – Carter

0

प्रयास करें

$($("#parentDiv > div")[0]).height(); 

यही चाल

2

बस इसे कर के सभी अन्य तरीकों में जोड़ने के लिए क्या करना चाहिए:

$("#parentDiv > div:first").height();