使用jQuery伪选择器时的奇怪行为 - :可见

时间:2012-11-07 11:19:57

标签: jquery

请确认

$("#myElement").is(":visible"); 
如果页面上显示id为myElement的div,则

应该为true。

我发现无论meElement是否修改为

都会返回 true
$("#myElement").css("visibility","visible");

$("#myElement").css("visibility","hidden");

在哪里:

$("#myElement").is(":visible")
如果myElement被修改为

,则

返回 false

$("#myElement").css("display","none");

所以换句话说,如果没有显示元素,它可能是 false

我已阅读并重新阅读文档。我必须遗漏一些东西,因为我根本无法从文档中挑选出为什么会这样。它并没有说不使用隐藏的可见性,也不是说你必须使用display none。

所以我不确定我是否完全理解了这个原因以及伪选择器:可见的作用。

注意我在尝试使用伪选择器:动画时也有奇怪的行为。

有人可以请参考:可见来解释这里发生的事情。

1 个答案:

答案 0 :(得分:3)

documentation中的第一段:

  

如果元素占用文档中的空间,则认为元素是可见的。   可见元素的宽度或高度大于零。

Visibility: hidden仍占用网页空间