为什么 jQuery 的 `height()` 和 `width()` 函数返回带有 `display: none` 的元素值?
jQuery:height()/width() vs. "display:none"
您可能假设具有 CSS 样式的元素在 jQuery 中,“display:none”的 height() 和 width() 将返回 0。然而,正如提供的示例所示,情况并非总是如此。
为什么会发生这种情况?为了理解这种行为,我们需要深入研究 jQuery 如何处理隐藏元素。
如果元素的 offsetWidth 为 0(jQuery 将其解释为“隐藏”),它会尝试确定其高度。它通过暂时改变元素的样式来实现此目的:
- 位置:“绝对”
- 可见性:“隐藏”
- 显示:“块”
一旦通过 getWidthOrHeight(...) 获取高度并根据需要调整边框和填充,就会恢复之前的样式。
本质上,jQuery 会获取隐藏元素,暂时显示它在文档流之外,检索其高度,然后再次隐藏它,所有这些都不会影响页面的视觉外观。这使得 height() 和 width() 甚至可以为隐藏元素提供准确的测量,前提是它们的父元素可见。
此机制内置于 jQuery 的 height() 和 width() 方法中,消除了您的需要手动操作元素的可见性。
以上是为什么 jQuery 的 `height()` 和 `width()` 函数返回带有 `display: none` 的元素值?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

Goofonts是由开发人员和设计师丈夫签名的附带项目,它们都是版式的忠实拥护者。我们一直在标记Google
