我正在尝试使用javascript在Netscape和Firefox中获取最初隐藏的div元素的高度(它在IE中工作得很好)。我尝试过使用MyElement.scrollHeight、MyElement.offetHeight、MyElement.style.height和许多不同的方法来设置元素初始可见,获取高度,然后再次隐藏它。我得到的值一直是0。有什么想法吗?
发布于 2012-09-24 02:39:29
如果我错了(我可能错了),请纠正我,但从一些研究来看,元素与显示:没有一个没有高度。
要获取高度,您需要取消隐藏它们,获取高度,然后重新隐藏它们。像这样的问题在过去出现过,就像这样:
jQuery: height()/width() and "display:none"
jQuery: Get height of hidden element in jQuery
(这两个都是jQuery示例,但您得到了要点)
发布于 2012-09-24 02:40:02
无法访问Netscape中的隐藏元素。
你可以在屏幕之外用div的样式孔来设置那个位置。例如,将其移动到左上角的-9999。然后你可以访问像高度和宽度这样的属性。
您还可以看到元素,然后获取属性并再次隐藏它,但这并不常见,因为您元素会显示一小段时间,用户可能会感觉到屏幕上的跳跃。
你应该通过将样式设置为“绝对”和“顶部”到-9999px或更多(取决于你的项目高度)来定位它,然后使用DOM和任何你想要的东西来获得元素的高度和宽度……
https://stackoverflow.com/questions/12555067
复制相似问题