0

我正在尝试使用 javascript 获取 Netscape 和 Firefox 中最初隐藏的 div 元素的高度(它在 IE 中运行良好)。我尝试使用 MyElement.scrollHeight、MyElement.offetHeight、MyElement.style.height 和许多不同的方法来设置元素最初可见、获取高度然后再次隐藏它。我一直得到 0 的值。有什么想法吗?

4

2 回答 2

1

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

要获取高度,您需要取消隐藏它们,获取高度,然后重新隐藏它们。过去出现过类似的问题,如下所示:

jQuery:高度()/宽度()和“显示:无”

jQuery:获取 jQuery 中隐藏元素的高度

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

于 2012-09-23T18:39:28.610 回答
0

Netscape 中的隐藏元素不可访问。

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

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

于 2012-09-23T18:40:01.527 回答