我试图获得元素的高度值的列表,但是它返回0。
我做了一些研究,发现为了获得元素的高度,元素必须是可见的。
但当它被藏起来的时候我想检查它的高度。如果它的高度大于某个值,使用一些函数,然后使其可见。有办法这样做吗?
我是说:
发布于 2012-02-02 18:29:34
您可以show元素获取高度,然后隐藏它,在视觉上您将不会看到任何差别。
var height = $('elementSelector').show().height();
$('elementSelector').hide();
if(height != <<HeightToCompare>>){
//Code here
}
//Finally make it visible
$('elementSelector').show();发布于 2012-02-02 18:23:57
一种方法是克隆对象,将克隆放置在视口之外,使其可见,测量克隆,然后销毁它。
所以你有:
<div id="maybe" style="display: none;">
Something
</div>由于您使用的是jQuery,所以您会这样做:
$('#maybe')
.clone()
.attr('id','maybe_clone') // prevent id collision
.css({ // position far outside viewport
'position': 'absolute',
'left': '-1000px'
});
if( $('#maybe_clone').show().height() > 200 ) {
$('#maybe').show();
}
$('#maybe_clone').remove(); // housekeeping发布于 2012-02-02 18:38:45
将对象定位为浏览器可以看到的对象,而不是用户:jQuery:获取jQuery中隐藏元素的高度
https://stackoverflow.com/questions/9117738
复制相似问题