什么是jQuery的Dojo等价物';s innerHeight()?

什么是jQuery的Dojo等价物';s innerHeight()?,dojo,Dojo,在jQuery中,我们可以使用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-l

在jQuery中,我们可以使用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的
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>

.
警报(dojo.position(“内部”).h)//24

好吧,这个职位可以得到真实的数据作为你的解决方案,但我不能改变html的结构。因此,对我来说内部div不存在,所有属性都是为ourside div(“外部”)定义的,包括padding border和blabla。
<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>