当前位置: 首页 > 面试题库 >

jQuery:height()/ width()和“ display:none”

应嘉容
2023-03-14
问题内容

我一直认为具有display:noneCSS样式的元素对于height()和返回0 width()

但是在这个例子中:

HTML

<div id="target" style="display:none;">
a
</div>

CSS

alert($("#target").height());

怎么来的?我已经看到0在过去多次返回。


问题答案:

如果元素具有offsetWidth``0(jQuery正在考虑此“隐藏”),请在此处选中,则它将尝试确定高度应为多少。在检查期间,它将通过设置元素的以下属性jQuery.swap()

  • position: "absolute"
  • visibility: "hidden"
  • display: "block"

然后,获取高度,并根据框模型的高低getWidthOrHeight(...)添加边框/填充(如有必要)augmentWidthOrHeight(...),并将上述所有属性还原为以前的值。

因此,基本上是在UI线程更新之前,将元素从文档流中显示出来,获取高度,然后再次隐藏,因此您永远不会看到这种情况。这样,即使在当前隐藏的元素上,只要它们的父母可见,它就可以.height()``.width()起作用…因此您可以运行[.height()/.width(),而无需执行在代码中执行的show /hide技巧,它可以在.height()和中处理.width()



 类似资料:
  • 为什么: 执行与 第一个是有意义的,我说宽度是98%,但不要超过1140px宽。 然而,第二个会说页面是1140px宽,但然后会去和98%的页面一样大,对吧?所以例如超过1140px...但显然不是,因为它和第一个一样。 有人能解释为什么吗?

  • 本文向大家介绍如何让IE6支持min-width和max-width?相关面试题,主要包含被问及如何让IE6支持min-width和max-width?时的应答技巧和注意事项,需要的朋友参考一下 利用IE特有的css语法 参考文章

  • 描述 (Description) width( )方法获取第一个匹配元素的当前计算值,像素和宽度。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>selector</i>.width( ) 此方法能够找到窗口和文档的宽度,如下所示 - $(window).width(); // returns width of browser viewport $(document).wid

  • 描述 (Description) width设置元素内容区域的宽度。 可能的值 (Possible Values) length - 任何长度单位。 此属性不允许使用负长度值。 percentage - 假设已显式设置包含块的宽度,则相对于元素包含块的宽度计算宽度。 auto - 默认。 浏览器计算实际宽度。 适用于 (Applies to) 除了未替换的内联元素,表行和行组之外的所有HTML元素

  • 本文向大家介绍请说说width: auto和width: 100%有什么区别?相关面试题,主要包含被问及请说说width: auto和width: 100%有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 width:auto 是自适应宽度 减去 magrin 边框 等间距,剩余的宽度,width:100% 是占据父元素的 100% 宽度

  • 描述 (Description) width( val )方法设置每个匹配元素的CSS宽度。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>selector</i>.width( val ) 参数 (Parameters) 以下是此方法使用的所有参数的说明 - val - 这是元素的宽度。 如果未指定显式单位(如'em'或'%'),则“px”将连接到该值。 例子 (Example