2010-04-21 15 views
17

Muszę wiedzieć, kiedy kliknę element, jeśli ten element ma atrybut CSS. Mam na myśli coś takiego, ale to nie działa:jQuery sprawdź, czy element ma atrybut css

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

Jakieś wskazówki na ten temat? Niż

Odpowiedz

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

Lepiej używać '! == null', czy się mylę? –

+0

z jakiegoś powodu to nie działa. Coś musi być nie tak z moim kodem. – Mircea

+0

Działa to dla mnie z 1.4.2. Którą wersję jQuery używasz. Którą przeglądarkę? Czy możesz podać przykładową stronę .html i hostować ją gdzieś, aby móc debugować problem i zobaczyć, co się dzieje? –

1

Jak o tym zamiast:

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

, odpowiedź została wysłana już 3 razy. – prendio2

+0

Tak, dziękuję. Otworzyłem to pytanie zanim jakiekolwiek odpowiedzi zostały wysłane, a następnie na chwilę odsunąłem się od mojego biurka. Przepraszam. –

2

W przypadku, gdy chcesz przetestować 'width' właściwość stylu. Zachowanie w Firefoksie nieznacznie różni się od innych przeglądarek.

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