今天在写js的时候遇到这样一个场景,页面上有两个tab页,其中有相同的两个div。在切换的时候需要获取该div的高度,然后做相应的判断。结果发现使用$('').height();获取高度的时候,一个可以取到,一个是 0 这样一个奇怪的现象。
通过debug调试发现,在切换tab的时候,会对其中一个hide()另一个show(),当我们想获取隐藏元素的高度时得到的就是0。
说到这里,就不得不提CSS中的两个属性visibility和display。

附:CSS display 属性 ; CSS visibility 属性

这两个属性都可以控制元素的隐藏和显示,看起来实现的效果是一样的,但实际上他们还是有挺大差别的。

<div style="visibility:hidden;"></div>
//该元素虽然隐藏了,但是会占据相对应的位置
<div style="display:none;"></div>
//该元素不仅隐藏,并且不会占用任何空间

说实话,写了这么多js,从来没有用过visibility这个属性,也不知道隐藏元素的高度是获取不到的。看来要学习的东西还是很多呀。

回到最开始的问题,在对其中一个tabhide()的时候实际上就是给该元素添加了style="display:none;"的样式,因为display不占用空间所以获取不到高度。如果想要获取到隐藏元素的高度,可以使用style="visibility:hidden/visible;"来控制元素的隐藏和显示。但是由于visibility占用空间,所以页面上会留白,这个可以自己尝试一下效果。

还有一个可以解决问题的方法就是使用jQuery Actual
该插件可以解决即使在style="display:none;"情况下也可以获取到元素的高度。有兴趣的可以学习一下,这里不再赘述。

jquery height 获取不到隐藏元素高度的问题相关推荐

  1. 原生js获取html元素高度,js获取页面及个元素高度、宽度的代码

    网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offs ...

  2. 【jQuery/CSS】显示或隐藏元素

    1. CSS分别有display.visibility两个样式可以用于隐藏或显示HTML元素 1) display样式有多个类型的值可选择,默认值为inline,隐藏后会释放元素所占用的页面空间(详见 ...

  3. jquery 如何获取动态添加的元素

    2019独角兽企业重金招聘Python工程师标准>>> <td><buttonclass="del">删除</button>& ...

  4. jquery查找父窗体id_js/jquery如何获取父窗口的元素?

    展开全部 取父窗32313133353236313431303231363533e58685e5aeb931333365643565口的元素方法: $(selector, window.parent. ...

  5. html中隐藏div的高度,jQuery如何获取隐藏元素的高度?

    一个HTML元素可以在jquery的hide()函数的帮助下隐藏,或者可以通过在css中使用visibility:hidden;来轻松隐藏.我们也可以很容易地使用jquery来找到这个隐藏元素的高度. ...

  6. js隐藏html页面元素高度,如何使用jQuery获取隐藏元素的高度?

    HTML元素可以在jquery hide()函数的帮助下隐藏,或者也可以通过在css中使设置visibility:hidden来轻松隐藏.那么如何使用jquery找到这个隐藏元素的高度?下面本篇文章就 ...

  7. jQuery获取不到隐藏DIV的高度和宽度

    今天做公司订单系统的修改,有同事将订单维护的四个部分拆成了四个小的tab页,由于数据表格时动态加载,所以表格的高度是动态变化的,可不知怎么,先点哪个哪个的高度就正常,其他的都是最小值,这下蒙了,这个找 ...

  8. [jQuery]无法获取隐藏元素(display:none)宽度(width)和高度(height)的新解决方案

    在做茶城网改版工作的时候,又遇到一个新问题,我需要用jQuery写一个通过点击左右图标来翻阅图片的小插件,写好后测试可以正常运行,但是放到Tab中后发现只有第一个Tab中的代码能够正常运行,其它全部罢 ...

  9. jQuery无法获取隐藏元素(display:none)宽度(width)和高度(height)的新解决方案

    jQuery无法获取隐藏元素(display:none)宽度(width)和高度(height)的新解决方案 参考文章: (1)jQuery无法获取隐藏元素(display:none)宽度(width ...

最新文章

  1. PHP中$_SERVER[QUERY_STRING]函数
  2. 亚洲与非洲:中国支付巨头的海外进击
  3. 翻译 | CSS网格(CSS Grid)布局入门
  4. jquery file upload ajax上传图片 简单使用
  5. pip is configured with locations that require TLS/SSL 解决
  6. research in attraction
  7. 《Node.js区块链开发》——1.6 参考
  8. 递归调用方法时栈内存是如何变化的?(使用内存图演示递归调用过程)
  9. 长春金桥计算机学校,金桥学校2017年招生简章
  10. java8-02-Stream-API
  11. [C++] 在连续统上的重复性质:滑动窗口
  12. 正则表达式 —— Cases 与 Tricks
  13. 阮一峰:WebSocket 教程
  14. A Story of One Country (Hard) CodeForces - 1181E2 (分治)
  15. Android+TensorFlow+CNN+MNIST实现手写数字识别
  16. Java常见异常总结
  17. 36篇精品文章搞定所有TOEIC单词
  18. 力扣、github网站登不上
  19. linux 内存溢出排查_linux下valgrind内存问题排查
  20. 胆汁酸代谢物质靶向代谢检测

热门文章

  1. 2016年WINLIN研发和团队计划
  2. 改造万能五笔屏蔽广告
  3. 毕业论文第一步--如何快速写出让人眼前一亮的文献综述论文(citspace)
  4. 图解大型互联网数据中心典型模型
  5. java过滤器对ext异步,java过滤器对ext异步请求跳转(国外英语资料).doc
  6. 组成原理——CPU(指令周期)
  7. 为车身添加花纹(每天一个PS小项目)
  8. Python 飞速下载各大平台音乐
  9. 电子智能闹钟 lcd12864
  10. 谷歌官方博客发表的 手机的未来趋势