2010-04-21 14 views
17

Necesito saber cuándo hago clic en un elemento si este elemento tiene un atributo CSS. Estoy pensando en algo como esto, pero no funciona:jQuery comprueba si el elemento tiene el atributo css

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

¿Algún consejo sobre este? Gracias

Respuesta

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

mejor usar '! == null', ¿me equivoco? –

+0

por alguna razón, esto no funciona. Debe haber algo mal con mi código. – Mircea

+0

Funciona para mí con 1.4.2. ¿Qué versión de jQuery estás usando? ¿Qué navegador? ¿Puede proporcionar una página .html de muestra y alojarla en algún lugar para que pueda solucionar el problema y ver qué ocurre? –

1

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

1

¿Qué hay de esto en su lugar:

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

esa respuesta ha sido publicada 3 veces ya – prendio2

+0

Sí, gracias. Abrí esta pregunta antes de que se publicaran las respuestas, luego me aparté de mi escritorio por un momento. Mis disculpas. –

2

En caso de que quiera probar las propiedades de estilo 'ancho'. El comportamiento en Firefox difiere ligeramente de otros navegadores.

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