Tiré de MDN par setAttribute() :
Pour définir la valeur d'un attribut booléen, tel que désactivé vous pouvez spécifier n'importe quelle valeur. Une chaîne vide ou le nom de l'attribut sont des valeurs recommandées. Tout ce qui compte, c'est que l'attribut soit présent, quelle que soit sa valeur réelle sa valeur est considérée comme étant vrai . L'absence de l'attribut signifie que sa valeur est faux . En fixant la valeur du désactivé à la chaîne vide ( "" ), nous mettons désactivé a vrai ce qui a pour effet de désactiver le bouton.
Lien vers le MDN
Solución
- Je veux dire que dans XHTML Strict est juste désactivé="désactivé" ,
- et en HTML5 est seulement désactivé comme <input name="myinput" disabled>
- Sur javascript , I régler la valeur sur vrai via e.disabled = true ;
ou à "" via setAttribute("disabled", "" ) ;
Test dans Chrome
var f = document.querySelectorAll( "label.disabled input" );
for( var i = 0; i < f.length; i++ )
{
// Reference
var e = f[ i ];
// Actions
e.setAttribute( "disabled", false|null|undefined|""|0|"disabled" );
/*
<input disabled="false"|"null"|"undefined"|empty|"0"|"disabled">
e.getAttribute( "disabled" ) === "false"|"null"|"undefined"|""|"0"|"disabled"
e.disabled === true
*/
e.removeAttribute( "disabled" );
/*
<input>
e.getAttribute( "disabled" ) === null
e.disabled === false
*/
e.disabled = false|null|undefined|""|0;
/*
<input>
e.getAttribute( "disabled" ) === null|null|null|null|null
e.disabled === false
*/
e.disabled = true|" "|"disabled"|1;
/*
<input disabled>
e.getAttribute( "disabled" ) === ""|""|""|""
e.disabled === true
*/
}
0 votes
Le lien que j'ai posté en commentaire de la réponse de js1568 confirme/clarifie ce que @Marc B dit : whatwg.org/specs/web-apps/current-work/multipage/
0 votes
Duplication possible de stackoverflow.com/questions/1033944/ parce que les deux sont des attributs booléens (non marqués).