jQuery:隐藏元素和维度属性
与常见假设相反,具有 display:none 的元素并不总是为 jQuery 的高度返回 0 () 和 width() 方法。这种与预期的偏差一直是程序员中挥之不去的困惑的主题。
揭开谜底
差异源于 jQuery 处理具有 display:none 样式的元素的方式。当元素的偏移宽度为 0 时,表明它被有效隐藏,jQuery 会尝试使用内部计算来确定其高度:
临时转换: 它临时修改元素的高度使用 jQuery.swap() 的 CSS 属性:
整个过程在 UI 线程更新之前无缝发生,在检索其尺寸的同时保留元素的隐藏状态。通过使 display:none 元素可通过 height() 和 width() 访问,jQuery 确保无论其可见状态如何,都可以执行涉及其尺寸的计算。
以上是为什么 jQuery 的 height() 和 width() 返回隐藏元素的值?的详细内容。更多信息请关注PHP中文网其他相关文章!