首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取隐藏元素高度的Jquery

问获取隐藏元素高度的Jquery
EN

Stack Overflow用户
提问于 2012-02-02 18:21:31
回答 3查看 24.4K关注 0票数 11

我试图获得元素的高度值的列表,但是它返回0。

我做了一些研究,发现为了获得元素的高度,元素必须是可见的。

但当它被藏起来的时候我想检查它的高度。如果它的高度大于某个值,使用一些函数,然后使其可见。有办法这样做吗?

我是说:

  1. 检查隐藏元素的高度。
  2. 如果它具有OK值,则使其可见。
  3. 如果它没有必需的值,那么执行一些函数。
  4. 让它显眼。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-02 18:29:34

您可以show元素获取高度,然后隐藏它,在视觉上您将不会看到任何差别。

代码语言:javascript
复制
var height = $('elementSelector').show().height();
$('elementSelector').hide();
if(height != <<HeightToCompare>>){
    //Code here
}
//Finally make it visible
$('elementSelector').show();

演示

票数 17
EN

Stack Overflow用户

发布于 2012-02-02 18:23:57

一种方法是克隆对象,将克隆放置在视口之外,使其可见,测量克隆,然后销毁它。

所以你有:

代码语言:javascript
复制
<div id="maybe" style="display: none;">
  Something
</div>

由于您使用的是jQuery,所以您会这样做:

代码语言:javascript
复制
$('#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
票数 6
EN

Stack Overflow用户

发布于 2012-02-02 18:38:45

将对象定位为浏览器可以看到的对象,而不是用户:jQuery:获取jQuery中隐藏元素的高度

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9117738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档