2009-07-06 50 views
35

如何檢查某個特定元素是否對用戶隱藏?在我的代碼,在某些情況下,該代碼將被稱爲:JQuery:檢查用戶是否隱藏元素

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

所以我要確保,如果$("#VersionSelectField")是隱藏的,那麼我就不會去驗證它裏面的價值,當我提交表單(爲此我使用JQuery Validate library)。

任何想法?

回答

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

這將只是檢查它是否是隱藏的輸入。 – Rob 2009-07-06 05:16:52

+7

@Rob - 這實際上會檢查用戶是否看不到它。 http://docs.jquery.com/Selectors/hidden – 2009-07-06 05:58:35

0

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

8

這個工作對我來說:

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

您可以使用隱藏()方法的回調。 例如:

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

以上是唯一一個利用該方法,基本上回調只會火災時,動畫完成後(即,完全隱藏)。當然,污染全球變量的範圍很頑皮,但只是一個簡單的例子。

或者,檢查顯示是否爲「無」像馬克建議也適用,因爲JQ效果將完全隱藏使用該特定css屬性的東西。