Como essa configuração não é um atributo
É um atributo.
Alguns atributos são definidos como booleanos, o que significa que você pode especificar seu valor e deixar todo o resto de fora. Em vez de desativado = " desativado ", você inclui apenas a parte em negrito. No HTML 4, você deve incluir apenas a parte em negrito, pois a versão completa é marcada como um recurso com suporte limitado (embora isso seja menos verdadeiro agora do que quando a especificação foi escrita).
No HTML 5, as regras foram alteradas e agora você inclui apenas o nome e não o valor. Isso não faz diferença prática, porque o nome e o valor são os mesmos.
A propriedade DOM também é chamada disabled
e é um booleano que leva true
or false
.
foo.disabled = true;
Em teoria, você também pode foo.setAttribute('disabled', 'disabled');
e foo.removeAttribute("disabled")
, mas eu não confiaria nisso nas versões mais antigas do Internet Explorer (que são notoriamente problemáticas quando se trata setAttribute
).
foo
emfoo.disabled = true;
? É o id desse botão?desabilitar
habilitar
fonte
$('#btnPlaceOrder').disabled = false;
não funcione.$('#btnPlaceOrder')[0].disabled = false
como o seletor jquery parece retornar uma matriz. Dar de ombros.É um atributo, mas é booleano (por isso não precisa de um nome, apenas de um valor - eu sei, é estranho). Você pode definir a propriedade equivalente em Javascript:
fonte
Tente o seguinte:
fonte
A maneira oficial de definir o
disabled
atributo em umHTMLInputElement
é:Embora a resposta do @ kaushar seja suficiente para ativar e desativar um
HTMLInputElement
, e provavelmente seja preferível para compatibilidade entre navegadores devido ao histórico de bugs do IEsetAttribute
, ele só funciona porque asElement
propriedades sombreamElement
atributos. Se uma propriedade estiver configurada, o DOM usará o valor da propriedade por padrão, em vez do valor do atributo equivalente.Há uma diferença muito importante entre propriedades e atributos. Um exemplo de uma
HTMLInputElement
propriedade true éinput.value
e, abaixo, demonstra como o sombreamento funciona:É isso que significa dizer que as propriedades sombreiam os atributos. Este conceito também se aplica às propriedades herdadas da
prototype
cadeia:Mostrar snippet de código
Espero que isso esclareça qualquer confusão sobre a diferença entre propriedades e atributos.
fonte
Ainda é um atributo. Configurando para:
... é válido.
fonte
Se você possui o objeto button, chamado b:
b.disabled=false;
fonte
Eu acho que a melhor maneira poderia ser:
Funciona bem em vários navegadores.
fonte
prop
, nãoattr
.Você ainda pode usar um atributo. Basta usar o atributo 'disabled' em vez de 'value'.
fonte
disabled="disabled"
ou apenasdisabled
. Qualquer valor de string é equivalente a"disabled"
, incluindodisabled="true"
edisabled="false"
.