$("input").attr("disabled", true);
a partir de ... não sei mais.
É dezembro de 2013 e eu realmente não tenho ideia do que lhe dizer.
Primeiro era sempre .attr()
, depois era sempre .prop()
, então eu voltei aqui, atualizei a resposta e a tornei mais precisa.
Então, um ano depois, o jQuery mudou de idéia novamente e nem quero acompanhar isso.
Para encurtar a história, a partir de agora, esta é a melhor resposta: "você pode usar os dois ... mas isso depende".
Você deve ler esta resposta: https://stackoverflow.com/a/5876747/257493
E suas notas de versão para essa mudança estão incluídas aqui:
Nem .attr () nem .prop () devem ser usados para obter / configurar o valor. Use o método .val () (embora o uso de .attr ("value", "somevalue") continue funcionando, como antes de 1.6).
Resumo de uso preferido
O método .prop () deve ser usado para atributos / propriedades booleanos e para propriedades que não existem em html (como window.location). Todos os outros atributos (aqueles que você pode ver no html) podem e devem continuar sendo manipulados com o método .attr ().
Ou em outras palavras:
".prop = material que não é documento"
".attr" = material do documento
... ...
Que todos possamos aprender uma lição aqui sobre a estabilidade da API ...
Código de trabalho das minhas fontes:
MUNDO HTML
JS WORLD
fonte
As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. To retrieve and change DOM properties such as the checked, selected, or disabled state of form elements, use the .prop() method
Se você estiver usando o jQuery, existem algumas maneiras diferentes de definir o atributo desativado.
fonte
$element.eq(0)[0].disabled = true;
? :-PTodas as opções acima são soluções perfeitamente válidas. Escolha aquele que melhor se adapte às suas necessidades.
fonte
Você pode obter o elemento DOM e definir a propriedade desabilitada diretamente.
ou, se houver mais de um, você pode usar
each()
para definir todos eles:fonte
Basta usar o
attr()
método do jQueryfonte
.removeAttr('disabled');
Como a pergunta estava perguntando como fazer isso com o JS, estou fornecendo uma implementação de baunilha JS.
fonte