Dado que esta configuración no es un atributo
Es un atributo
Algunos atributos se definen como booleanos, lo que significa que puede especificar su valor y dejar todo lo demás fuera. es decir, en lugar de disabled = " disabled ", incluye solo la parte en negrita. En HTML 4, debe incluir solo la parte en negrita ya que la versión completa está marcada como una característica con soporte limitado (aunque eso es menos cierto ahora que cuando se escribió la especificación).
A partir de HTML 5, las reglas han cambiado y ahora incluye solo el nombre y no el valor. Esto no hace una diferencia práctica porque el nombre y el valor son iguales.
La propiedad DOM también se llama disabled
y es un valor booleano que toma true
o false
.
foo.disabled = true;
En teoría, también puede foo.setAttribute('disabled', 'disabled');
y foo.removeAttribute("disabled")
, pero no confiaría en esto con versiones anteriores de Internet Explorer (que son notoriamente defectuosas en lo que respecta a setAttribute
).
foo
enfoo.disabled = true;
? ¿Es la identificación de ese botón?deshabilitar
para permitir
fuente
$('#btnPlaceOrder').disabled = false;
no lo hace.$('#btnPlaceOrder')[0].disabled = false
como el selector jquery parece devolver una matriz. Encogimiento de hombros.Es un atributo, pero uno booleano (por lo que no necesita un nombre, solo un valor, lo sé, es raro). Puede establecer la propiedad equivalente en Javascript:
fuente
Intenta lo siguiente:
fuente
La forma oficial de establecer el
disabled
atributo en unHTMLInputElement
es esta:Si bien la respuesta de @ kaushar es suficiente para habilitar y deshabilitar un
HTMLInputElement
, y probablemente sea preferible para la compatibilidad entre navegadores debido a la falla histórica de IEsetAttribute
, solo funciona porque lasElement
propiedades sombrean losElement
atributos. Si se establece una propiedad, el DOM usa el valor de la propiedad por defecto en lugar del valor del atributo equivalente.Hay una diferencia muy importante entre propiedades y atributos. Un ejemplo de una
HTMLInputElement
propiedad verdadera esinput.value
, y a continuación se muestra cómo funciona el sombreado:Eso es lo que significa decir que las propiedades sombrean los atributos. Este concepto también se aplica a las propiedades heredadas en la
prototype
cadena:Mostrar fragmento de código
Espero que esto aclare cualquier confusión sobre la diferencia entre propiedades y atributos.
fuente
Sigue siendo un atributo. Ajustándolo a:
... es válido.
fuente
Si tiene el objeto botón, llamado b:
b.disabled=false;
fuente
Creo que la mejor manera podría ser:
Funciona bien entre navegadores.
fuente
prop
, noattr
.Todavía puedes usar un atributo. Simplemente use el atributo 'deshabilitado' en lugar de 'valor'.
fuente
disabled="disabled"
o solodisabled
. Cualquier valor de cadena es equivalente a"disabled"
, incluidosdisabled="true"
ydisabled="false"
.