Javascript jquery可见性选择器

Javascript jquery可见性选择器,javascript,jquery,css,visibility,Javascript,Jquery,Css,Visibility,我想知道以下内容是否有错误: if($('#three').is(':visible')) { alert("visible"); } else { alert("hidden"); } 谢谢请确保#three已将display属性设置为某个默认值。例如Display=“none”我觉得您的代码似乎正确。但是,如果出现以下情况,jQuery上的选择器将不可见元素: 它们的CSS显示值为“无” 它们是type=“hidden”的表

我想知道以下内容是否有错误:

    if($('#three').is(':visible')) {
        alert("visible");
    } else {
        alert("hidden");    
    }

谢谢

请确保#three已将display属性设置为某个默认值。例如Display=“none”

我觉得您的代码似乎正确。但是,如果出现以下情况,jQuery上的选择器将不可见元素:

  • 它们的CSS显示值为“无”
  • 它们是type=“hidden”的表单元素
  • 它们的宽度和高度显式设置为0
  • 祖先元素是隐藏的,因此该元素不会显示在页面上
你的测试是这样的吗

关于此选择器的其他一些重要方面是,具有
可见性:hidden
不透明度:0
的元素被认为是可见的


此外,自1.3.2版以来,该选择器也有所发展,如。

最好检查一下:

<script>
 if( $('#foo').is(':visible') ) {
    // it's visible, do something
}
else {
    // it's not visible so do something else
}

if( $('#foo').is(':hidden') ) {
    // it's hidden, do something
}
else {
    // it's not hidden so do something else
}

</script>

如果($('#foo')。是(':visible')){
//它是可见的,做点什么吧
}
否则{
//它是看不见的,所以做点别的吧
}
如果($('#foo')。是(':hidden')){
//它是隐藏的,做点什么吧
}
否则{
//它不是隐藏的,所以做点别的吧
}

你为什么这么问?您是否有意外的结果?是的,else{}语句不适用于您对visible的概念定义?您是如何隐藏它来测试else语句的?您的意思是,当id为
3的元素不可见时,警报显示
可见
?哪个浏览器?IE和jQuery在可见性方面有一些问题。非常感谢,先生。我不知道fac认为visibility:hidden是可见的。有什么方法可以了解一个项目的可见性状态吗?谢谢除了当前的测试之外,您还可以检查
visible:hidden
是否未应用于元素…我只是想知道一个层是否可见(用CSS术语来说)@Anant-然后转到link并检查我很抱歉,先生,但这正是不起作用的$(“#foo”).is(“:visible”)不适用于可见性为:隐藏的层;