需要找到页面上隐藏的 div 元素的高度(设置为 display:none)。

6 浏览
0 Comments

需要找到页面上隐藏的 div 元素的高度(设置为 display:none)。

我需要测量一个隐藏元素中的div的offsetHeight。

父div必须设置为"display:none",我无法控制它。我知道子div的offsetHeight将为0,所以我需要找到一个解决办法。

我尝试了一种方法,当页面加载时,我复制了父元素的子节点,将它们插入到一个设置为"visiblity:hidden"的div中。然后我测量这些元素的高度,并在完成后删除这些节点。

还有其他想法吗?

更新:

我最终做的是:

在页面加载时,使用YUI 2,我找到了所有具有给定类名的元素,这些元素要么设置为display:none,要么它们的高度和宽度为0(这是一种测量元素是否存在或父元素是否设置为display:none的方式)。然后我将该元素设置为display:block。然后我检查其父元素是否具有相同的属性,并显示父元素,直到找到可见的父元素为止。一旦最高的display:none的祖先元素被设置为display:block,我就可以测量我的元素了。

测量完成后,我将所有元素都重新设置为display:none。

0