4

我有一个最初没有内容的浮动 div。我使用jQuery将一组元素追加到div中,然后立即调用原始div的height方法。我添加的元素在样式表中有一个定义的最小高度,而浮动 div 没有。问题是当我在原始 div 上调用 height 时,我得到 0。

如果我使用 setTimeout 将呼叫延迟 1 毫秒,我会得到正确的高度。我的理论是,当我调用height方法时,浏览器还没有完成对DOM的渲染,所以它还没有设置顶级元素的hei?ht。这个高度会有所不同,所以使用固定高度是不合适的。有谁知道可能导致此问题的原因?

4

2 回答 2

0

如果没有任何结果,那么您可能暂时需要考虑延迟的 .then() 函数。这是使用 jsFiddle 的示例:http: //jsfiddle.net/yTTRq/

于 2012-04-05T18:27:27.893 回答
0

这应该取决于 dom 的大小。如果它很大,会有轻微的延迟。

于 2012-04-05T18:16:06.417 回答