需要找到页面上隐藏的 div 元素的高度(设置为 display:none)。
- 论坛
- 需要找到页面上隐藏的 div 元素的高度(设置为 display:none)。
6 浏览
需要找到页面上隐藏的 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。