2012-04-17 16 views
22

Tengo un atributo disabled='disabled' en una etiqueta <a>. ¿Cómo pruebo para ver si este atributo está en mi etiqueta usando jquery? El siguiente código devuelve undefined. Puedo ver el atributo disabled en la etiqueta en firebug y todos los demás atributos en el retorno de anchor exitosamente usando la misma sintaxis. Me doy cuenta de que disabled es un atributo personalizado para una etiqueta <a>.¿Cómo se usa jquery para verificar el atributo 'deshabilitado' en una etiqueta <a>?

$('#anchorID').attr('disabled'); 
+1

No estoy agregando deshabilitado, solo necesito verificar su presencia. – coder

Respuesta

36

Trate

$('#anchorID').is('[disabled=disabled]') 

volverá cierto si disabled="disabled" es un atributo para el elemento.

+1

Impresionante ... ¡Me salvó el día! –

34

La forma nueva y mejorada es utilizar prop() función de jQuery: http://api.jquery.com/prop/#prop1

$('#anchorID').prop("disabled");

La diferencia entre los atributos y propiedades pueden ser importantes en situaciones específicas. Antes de jQuery 1.6, el método .attr() a veces tomaba en cuenta los valores de propiedades al recuperar algunos atributos, lo que podía causar un comportamiento incoherente. A partir de jQuery 1.6, el método .prop() proporciona una forma de recuperar explícitamente valores de propiedad, mientras que .attr() recupera atributos.

+1

+1 '.prop()' definitivamente el mejor. Eliminó mi respuesta :) – iambriansreed

+3

Esta es una respuesta muy informativa pero no devolvió el valor correcto para mi campo. – coder

Cuestiones relacionadas