在jQuery中,我们可以使用innerHeight来获取一个元素的高度(包括填充但不是边框。)。
$("selector").innerHeight();
如何通过dojo获得相同的值?
我的解决方案正在使用
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
有没有简单的方法呢?
答案 0 :(得分: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>