Jquery获得隐藏元素的高度
我试图得到一个元素的高度值列表,但它返回0。
我做了一些研究,发现为了获得元素的高度,该元素必须是可见的。
但是当它被隐藏时我想检查它的高度。 如果它的高度大于某个值,则使用某些函数然后使其可见。 有没有办法做到这一点?
我的意思是:
- 检查隐藏元素的高度。
- 如果它具有OK值,则使其可见。
- 如果没有所需的值,请执行一些function。
- 让它可见。
您可以show
元素获取高度然后隐藏它,在视觉上您将看不到任何差异。
var height = $('elementSelector').show().height(); $('elementSelector').hide(); if(height != <>){ //Code here } //Finally make it visible $('elementSelector').show();
演示
一种方法是克隆对象,将克隆定位在视口之外,使其可见,测量克隆,然后销毁它。
所以你有了:
既然你正在使用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
定位对象使其对浏览器可见,但对用户不可见: jQuery:获取jQuery中隐藏元素的高度