2011-05-08 35 views
23

只是想知道如何判斷一個jQuery的聲明這樣確定CSS屬性是否爲某個值?

if($("#test").css('display', 'block') == true) { 
    return true; 
} 

基本上,我希望能夠確定如果一個元素當前顯示或通過隱藏「顯示:塊」屬性?

回答

46

使用

if($("#test").css('display') == 'block') { 

我相當肯定.css(),返回一個計算值,總是返回小寫的結果 - 文檔說這個沒什麼。爲了完全確定,你可以做一個

if($("#test").css('display').toLowerCase() == 'block') { 

,而你可以依靠display給予可靠的結果,注意一些CSS屬性不會總是出現,他們被定義的方式。例如使用.css()查詢時

a { color: red } 

會變成rgb(255,0,0);

+0

嗨佩卡 - 只是想知道爲什麼不工作? http://jsfiddle.net/eEF9Y/ – Tom 2011-05-08 17:47:32

+0

@你正在檢查'test1'是否有'display:none',它沒有。你的意思是'display!='block''? – 2011-05-08 17:49:02

+0

@Pekka - 感謝您的迴應:)那麼,我想檢查#test是否是塊 - 如果它是塊然後顯示test1? – Tom 2011-05-08 17:49:53

0

我想對此進行測試的唯一方法是通過與實際值進行比較:

function displayHidden(elem) { 
    return $(elem).css('display') === 'hidden'; 
} 
6

您可以使用可見性,也隱藏

if ($('#test').is(':visible')){ 
+3

如果能見度是你想要確定的,這實際上會更好,+1 – 2011-05-08 17:10:03

相關問題