使用jQuery检查div是否隐藏

使用jQuery检查div是否隐藏,jquery,hidden,visible,Jquery,Hidden,Visible,这是我的部门 <div id="car2" style="display:none;"></div> 因此,现在我想检查在提交表单之前div#car2是否仍然隐藏: if($('#car2').is(':hidden')) { alert('car 2 is hidden'); } 现在问题来了。尽管div#car2已经显示,但我仍然收到一条警告消息,这意味着jQuery假定div#car2仍然隐藏 我的jQuery版本

这是我的部门

<div id="car2" style="display:none;"></div>
因此,现在我想检查在提交表单之前div
#car2
是否仍然隐藏:

if($('#car2').is(':hidden')) {
    alert('car 2 is hidden');
}
现在问题来了。尽管div
#car2
已经显示,但我仍然收到一条警告消息,这意味着jQuery假定div
#car2
仍然隐藏

我的jQuery版本是1.7

谢谢

编辑:

正如jasper所说,我的代码是正确的,可以通过它运行


我所怀疑的与我在表单中使用的内容存在冲突。有人有办法解决这个问题吗?

您可以检查CSS
显示属性:

if ($('#car').css('display') == 'none') {
    alert('Car 2 is hidden');
}

下面是一个演示:

请尝试检查:visible属性

if($('#car2').not(':visible'))
{
    alert('car 2 is hidden');       
}
尝试:


你注意到你的打字错误了吗,
$car2
而不是
#car2

不管怎样,
:hidden
似乎按预期工作,请尝试。

尝试

if($('#car2').is(':hidden'))
{  
    alert('car 2 is hidden');       
}
你可以用

if (!$("#car-2").is(':visible'))
{
      alert('car 2 is hidden');
}

您的代码在简化时确实可以工作,所以可能您在其他地方有错误?请参阅,尽管其他答案是正确的,但不知何故,我只能在我的表单中使用此方法,因此我将选择此作为答案。谢谢。
$(“#车”)是(:隐藏的)
应该可以用。这也是一种比当前更清洁的解决方案。查看@akshay yeah的更多信息,这更具语义意义。我认为在某些边缘情况下,您自己进行检查是有意义的,因为元素周围存在与
:hidden
:visible
选择器有关的条件。@akshay您忘记了:hidden上的引号。它应该是$('car')。是('hidden')
if($('#car2').is(':hidden'))
{  
    alert('car 2 is hidden');       
}
if (!$("#car-2").is(':visible'))
{
      alert('car 2 is hidden');
}