2010-04-21 20 views
17

Ho bisogno di sapere quando clicco su un elemento se questo elemento ha un attributo CSS. Sto pensando a qualcosa del genere, ma non funziona:jQuery verifica se l'elemento ha attributo css

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

Qualche consiglio su questo? Thanx

risposta

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

Meglio usare '! == null', ho sbagliato? –

+0

per qualche motivo questo non funziona. Deve esserci qualcosa di sbagliato nel mio codice. – Mircea

+0

Funziona per me con 1.4.2. Quale versione di jQuery stai usando. Quale browser? Puoi fornire una pagina .html di esempio e ospitarla da qualche parte in modo da poter eseguire il debug del problema e vedere cosa sta succedendo? –

1

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

1

Che ne dite di questo, invece:

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

la risposta è già stata postata 3 volte – prendio2

+0

Sì, grazie. Ho aperto questa domanda prima che fossero state pubblicate tutte le risposte, poi mi sono allontanato dalla mia scrivania per un momento. Mie scuse. –

2

Nel caso in cui si desidera testare proprietà di stile 'width'. Il comportamento in Firefox è leggermente diverso dagli altri browser.

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