2012-02-06 10 views
5

jQuery में, हम एक तत्व की ऊंचाई प्राप्त करने के लिए आंतरिक हाइट का उपयोग कर सकते हैं (पैडिंग सहित लेकिन सीमा नहीं।)।डोजो jQuery के आंतरिक हाइट() के बराबर क्या है?

$("selector").innerHeight(); 

मैं डोजो द्वारा एक ही मूल्य कैसे प्राप्त कर सकता हूं?

क्या मेरी समाधान

dojo.contentBox() //get the height of content box 
dojo.style(node, "borderTopWidth") //get width of border-top 
dojo.style(node, "borderBottomWidth"). //get width of border-left 

कोई आसान तरीका यह करने के लिए है का उपयोग कर रहा है?

उत्तर

1

दुर्भाग्यवश, मुझे नहीं लगता कि ऐसा करने का एक आसान तरीका है।

dojo.contentBox(node) // excludes border, padding and margin 
dojo.position(node) // includes border and padding; excludes margin 
dojo.marginBox(node) // includes border, padding and margin 

तो, आप क्या सुझाव क्या करने की जरूरत:

आप मूल रूप से तीन विकल्प। dojo.contentBox() का उपयोग करें, फिर अलग-अलग शीर्ष और निचली सीमा चौड़ाई की गणना करें।

वैकल्पिक रूप से आप <div> को <div> के अंदर रखना चाहेंगे, ताकि आप बाहरी div पर सीमा निर्धारित कर सकें और पैडिंग को आंतरिक div पर रख सकें। इसके बाद आप आंतरिक div के लिए dojo.position() पर कॉल करने से आवश्यक ऊंचाई प्राप्त कर पाएंगे।

<div id="outer" style="border: solid #000 1px;"> 
    <div id="inner" style="height: 20px; padding: 2px;">.</div> 
</div> 
<script> 
    alert(dojo.position("inner").h) // 24 
</script> 
+0

अच्छी तरह से, स्थिति आपके समाधान के रूप में वास्तविक डेटा प्राप्त कर सकती है, लेकिन मैं HTML की संरचना को नहीं बदल सकता। इसलिए अंदरूनी div मेरे लिए अस्तित्व में नहीं है और सभी विशेषताओं को हमारे पक्ष div ("# बाहरी") के लिए परिभाषित किया गया है, जिसमें पैडिंग सीमा और ब्लाब्लाबला शामिल है। –

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