Ci sono alcuni attributi in HTML che sono "booleani" - i browser li considerano "veri" se sono presenti, indipendentemente dal valore. Un esempio di tale attributo è selezionato nel tag <option>
. Un altro è controllato su <input type="checkbox">
.Attributi HTML booleani
Se si dispone di una chiamata a setAttribute()
per un tale attributo, non sembra esserci alcun valore che si possa impostare affinché i browser si comportino in modo coerente come se l'attributo fosse mancante.
Per esempio
option.setAttribute("selected", false)
sarà ancora segnano l'opzione selezionata. null, stringa vuota o undefined non funziona neanche. Se qualcuno sa di un valore che posso impostare per raggiungere il mio obiettivo, faccelo sapere, ma non credo che esista. (A causa di un po 'di codice del framework che uso, non chiamando setAttribute()
, o chiamando removeAttribute()
è difficile.)
Sto cercando di trovare un elenco esaustivo di tali attributi a caso speciale di loro. Ecco quello che ho finora:
- selezionato di
<option>
- controllato di
<input>
- disabilitato, sola lettura di
<input>
,<select>
,<option>
,<optgroup>
,<button>
,<textarea>
- multipla di
<select>
Si prega di aiutarmi a completare questa lista - o indicarlo a uno esistente.
Vorrei anche aggiungere un attributo ['itemscope'] (http://www.w3.org/TR/html5/microdata.html) a questo elenco – Nazariy
Sì, ci sono potenzialmente un pacchetto in più quando si introducono estensioni HTML5 oggi . – bobince
Ecco un elenco di attributi booleani in HTML5: https://github.com/kangax/html-minifier/issues/63 Si noti che include alcuni attributi non booleani che hanno un comportamento simile (vale a dire il valore di stringa vuota associa a un diverso valore predefinito), come 'contenteditable' e' spellcheck'. –