我需要获取隐藏的div内的元素的高度。现在,我显示div,获取高度,然后隐藏父div。这似乎有点愚蠢。有没有更好的办法?
我正在使用jQuery 1.4.2:
$select.show();
optionHeight = $firstOption.height(); //we can only get height if its visible
$select.hide();
我需要获取隐藏的div内的元素的高度。现在,我显示div,获取高度,然后隐藏父div。这似乎有点愚蠢。有没有更好的办法?
我正在使用jQuery 1.4.2:
$select.show();
optionHeight = $firstOption.height(); //we can only get height if its visible
$select.hide();
根据定义,元素只有在可见时才具有高度。
只是好奇:为什么需要隐藏元素的高度?
一种替代方法是通过将元素放置在某种类型的叠加层之后(使用z-index)来有效地隐藏它。
您也可以使用负边距将隐藏的div置于屏幕之外,而不是使用display:none,就像文本缩进图像替换技术一样。
例如。
position:absolute;
left: -2000px;
top: 0;
这样,height()仍然可用。
一种解决方法是在要获取其高度的元素外部创建一个父div,将高度设置为“ 0”并隐藏任何溢出。接下来,使用子元素的高度,并删除父元素的溢出属性。