首页 > web前端 > css教程 > 正文

为什么 jQuery 的 height() 和 width() 返回隐藏元素的值?

DDD
发布: 2024-10-29 12:37:29
原创
497 人浏览过

 Why Does jQuery's height() and width() Return Values for Hidden Elements?

jQuery:隐藏元素和维度属性

与常见假设相反,具有 display:none 的元素并不总是为 jQuery 的高度返回 0 () 和 width() 方法。这种与预期的偏差一直是程序员中挥之不去的困惑的主题。

揭开谜底

差异源于 jQuery 处理具有 display:none 样式的元素的方式。当元素的偏移宽度为 0 时,表明它被有效隐藏,jQuery 会尝试使用内部计算来确定其高度:

  1. 临时转换: 它临时修改元素的高度使用 jQuery.swap() 的 CSS 属性:

    • 将位置设置为“绝对”
    • 将可见性设置为“隐藏”
    • 将显示设置为“块”
  2. 高度测量:通过这些更改,它使用 getWidthOrHeight(...) 获取高度。
  3. 属性恢复:最后,它将 CSS 属性恢复为之前的值,从而再次有效地隐藏元素。

整个过程在 UI 线程更新之前无缝发生,在检索其尺寸的同时保留元素的隐藏状态。通过使 display:none 元素可通过 height() 和 width() 访问,jQuery 确保无论其可见状态如何,都可以执行涉及其尺寸的计算。

以上是为什么 jQuery 的 height() 和 width() 返回隐藏元素的值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板