2010-04-21 114 views
17

如果此元素具有CSS屬性,我需要知道當我單擊元素時。我在想這樣的事情,但它不起作用:jQuery檢查元素是否具有CSS屬性

if ($('#element').attr("text-shadow")) { 
    alert ('i Have') 
} 
else { 
    alert ('i dont') 
} 

對此問題的任何提示? 感謝名單

回答

22
if($('#element').css('text-shadow') != null) { 
    /*success*/ 
} 
else { 
    /*does not have*/ 
} 
+2

更好地使用'!== null',我錯了嗎? – 2010-04-21 18:57:35

+0

由於某些原因,這是行不通的。我的代碼一定有問題。 – Mircea 2010-04-21 19:06:25

+0

它適用於我1.4.2。你使用的是哪個版本的jQuery。哪個瀏覽器?你能否提供一個樣本.html頁面並將其託管在某處,以便我可以調試該問題並查看發生了什麼? – 2010-04-21 19:24:50

1

$('#element').css("text-shadow")

1

這個怎麼樣,而不是:

if($('#element').css('text-shadow') == null) ... 
+2

回答已發佈3次 – prendio2 2010-04-21 19:04:25

+0

是的,謝謝。在任何答案發布之前,我打開了這個問題,然後離開了我的辦公桌一會兒。我很抱歉。 – 2010-04-21 19:09:31

2

如果你想測試 '寬' 的場所。 Firefox中的行爲與其他瀏覽器略有不同。

if (jQuery(value).css('width') == '0px') { // width not set 
    jQuery(value).css('width', '320px'); 
}