JQuery:检查用户是否隐藏了一个元素

如何检查某个特定的元素是否被用户隐藏? 在我的代码中,在某些情况下,这个代码将被调用:

$("#VersionSelectField").hide('fast'); 

所以我必须确保如果$("#VersionSelectField")被隐藏,那么当我提交表单时(我使用JQueryvalidation库来实现这个目的),我不需要validation里面的值。

有任何想法吗?

 $("#VersionSelectField").is(':hidden'); 

这适用于我:

 $("#VersionSelectField").css("display") == "none"; 

您可以使用hide()方法的callback。 例如:

 $("#VersionSelectField").hide('fast', function() { GlobalVersionSelectFieldHidden = true; }); 

以上只是其中一种方法,基本上callback只会在animation完成时触发(即完全隐藏)。 当然,污染全球variables的范围是非常调皮,但只是一个简单的例子。

或者,像Mark一样检查显示是否为“none”也是可行的,因为JQ效应将完全隐藏使用该特定css属性的东西。

试试$("#versionselectfield[display='none']").length > 0