attributi booleani sono spiegati qui:
http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2
Alcuni attributi svolgono il ruolo di variabili booleane (ad esempio, la scelta attributo per l'elemento OPTION). Il loro aspetto nel tag iniziale di un elemento implica che il valore dell'attributo sia "true". La loro assenza implica un valore di "falso".
Gli attributi booleani possono assumere legalmente un singolo valore: il nome dell'attributo stesso (ad esempio, selezionato = "selezionato").
Quindi, mentre alcuni browser possono interpretare la stringa "falso" come se il valore non fosse stato impostato, altri potrebbero non decidere (quale è il comportamento corretto). In realtà, per quanto ne so (o pensato), qualsiasi stringa non vuota di solito imposta il valore su on/true (indipendentemente da ciò che dice la specifica è un valore legale). Credo che questo sia anche un comportamento indefinito, quindi potrebbe cambiare o essere diverso da browser a browser (non fare affidamento su di esso).
La linea di fondo è, solo perché un browser o due può deviare dalla specifica non significa che si dovrebbe. Rimuovere completamente l'attributo è la strada da percorrere.
Addendum: Osservando i commenti e le domande un po 'più da vicino, penso che si possa essere confusi sui valori degli attributi in generale. In HTML, attr=false
e attr="false"
sono esattamente gli stessi. Le quotazioni non sono richieste in nessuna versione di HTML (a meno che non siano necessarie per rimuovere l'ambiguità quando il valore contiene spazi). Ad esempio:
<input class=required>
<!-- This is fine -->
<input class=title required>
<!-- this is fine too, but "required" will be parsed as an attribute -->
<input class="title required">
<!-- To have two classes, we need the quotes -->
Tutti i valori di attributo (sugli elementi che li hanno) sono trattati come stringhe. In altre parole, non esiste un valore booleano booleano (o NULL
) in HTML come in javascript.
fonte
2012-01-08 06:15:58
Preferisco la parola [falsy] (http://en.wikipedia.org/wiki/JavaScript_syntax#Boolean) – mplungjan
In base a questo, avere il valore presente è considerato vero e si sarebbe più sicuro andare in quel modo piuttosto che impostazione falsa. - http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2 – JohnP