在Firefox中无法获得隐藏div的高度

时间:2012-09-23 18:29:59

标签: javascript

我正在尝试使用javascript在Netscape和Firefox中获取最初隐藏的div元素的高度(它在IE中工作正常)。我尝试过使用MyElement.scrollHeight,MyElement.offetHeight,MyElement.style.height以及设置元素最初可见的许多不同方法,获取高度然后再次隐藏它。我一直得到0值。任何想法?

2 个答案:

答案 0 :(得分:1)

如果我错了(我可能是这样),请纠正我,但是通过做一些研究,显示的元素:none没有高度。

要获得高度,你需要取消隐藏它们,获得高度,然后重新隐藏它们。这样的问题在过去就像这样出现了:

jQuery: height()/width() and "display:none"

jQuery: Get height of hidden element in jQuery

(两个jQuery示例,但你明白了)

答案 1 :(得分:0)

无法访问Netscape中的隐藏元素。

您可以使用屏幕上的div样式孔设置该位置。例如,将其移至左上角的-9999。然后你可以访问高度和宽度等属性。

你也可以看到那个元素并获取你的属性并再次隐藏它,但这并不常见,因为你的元素会显示一点点,用户可能会觉得跳到屏幕上。
你应该通过将样式设置为"绝对"来定位它。 " top"到-9999px或更多(取决于您的项目高度),然后使用DOM和您想要的任何东西获取元素高度和宽度......