【发布时间】:2011-11-26 08:16:13
【问题描述】:
示例 jQuery:
$('document').ready(function(){
var $theP = $('p');
var $theDiv = $('div');
$theP.html($theP.html() + "<br>div height: " + $theDiv.outerHeight());
var $theClone = $theDiv.clone();
$theP.html($theP.html() + "<br>clonded div height: " + $theClone.outerHeight());
})
直播链接:http://jsbin.com/odujiv/4
在上面运行时,在尝试获取其高度时会得到“0”的结果。我认为这是因为克隆的对象还没有被放入 DOM 中。获得高度以首先将克隆的元素添加回 DOM 的唯一方法是什么?如果是这样,我认为这是可行的,但在我将其放回 DOM 之前处理它会很棒。
【问题讨论】:
-
这里有一个类似的“hacky”解决方案:stackoverflow.com/questions/2345784/…
-
是的,我想解决方案是我必须在获得它的高度之前将它添加到 DOM。那可能会奏效。我可以将它添加到 DOM,将其放置在屏幕外,获取高度,进行计算,然后将其放置在我想要的位置。
-
我之前遇到过这个问题——添加到屏幕外的 DOM 就可以了。