在jQuery中,我们可以使用innerHeight来获取一个元素的高度(包括padding但不包括border)。
$("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
有什么简单的方法可以做到吗?
最佳答案
不幸的是,我认为没有更简单的方法来做到这一点。
你基本上有三个选择:
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 上的内边距。然后,您可以通过调用 dojo.position()
获得所需的高度。对于内部 div。<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>
关于dojo - 什么是 jQuery 的 innerHeight() 的 Dojo 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158701/