Ich erinnere mich an die meisten (möglicherweise alle) Attribute in früheren HTML-Versionen (vor HTML5), für die Attribute erforderlich waren, um Werte wie z readonly="readonly"
.
Gilt das für HTML5 und das autofocus
Attribut?
Ich erinnere mich an die meisten (möglicherweise alle) Attribute in früheren HTML-Versionen (vor HTML5), für die Attribute erforderlich waren, um Werte wie z readonly="readonly"
.
Gilt das für HTML5 und das autofocus
Attribut?
Antworten:
In HTML verwenden Sie boolesche Attribute mit oder ohne Werte, wie Sie möchten. Ein boolean, für W3C, wie Autofokus kann so geschrieben werden , autofocus
oder autofocus="autofocus"
oder auch autofocus=""
.
Wenn Sie keinen Autofokus möchten, schreiben Sie ihn einfach nicht.
Ich denke, Sie sind verwirrt, weil XHTML Werte für alle Attribute benötigt: attributes="values"
.
Hier finden Sie einige Informationen zur Verwendung von booleschen Attributen in HTML: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
disabled="disabled"
. Das gleiche gilt für das Schließen von Tags. In HTML muss nicht jedes Tag geschlossen werden (z. B. br oder input), aber da XHTML gültiges XML sein muss, müssen Sie auch Tags schließen.
disabled="disabled"
". Und SGML ist der einzige Grund, warum XHTML die silly="silly"
Bool-Syntax anstelle von nur hat whatever="true"
, und HTML ist der einzige Grund, warum this="false"
dies bedeuten kann = wahr. :)
Zitieren Sie die HTML5-Spezifikation und erweitern Sie Pekka ein wenig:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
Das Autofokus-Attribut ist ein boolesches Attribut.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
Das Vorhandensein eines booleschen Attributs für ein Element repräsentiert den wahren Wert, und das Fehlen des Attributs repräsentiert den falschen Wert.
Wenn das Attribut vorhanden ist, muss sein Wert entweder die leere Zeichenfolge oder ein Wert sein, bei dem der kanonische Name des Attributs nicht zwischen Groß- und Kleinschreibung unterschieden wird, ohne führende oder nachfolgende Leerzeichen.
Fazit :
Folgendes ist gültig, gleichwertig und wahr :
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
Folgendes ist ungültig :
<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />
Das Fehlen des Attributs ist die einzig gültige Syntax für false :
<input type="text"/>
Empfehlung
Wenn Sie gültiges XHTML schreiben möchten, verwenden Sie autofocus="autofocus"
, da <input autofocus>
es ungültig ist und andere Alternativen weniger lesbar sind. Andernfalls verwenden <input autofocus>
Sie es einfach, da es kürzer ist.
Nein , es reicht aus, das Attribut selbst anzugeben. So war es auch in HTML 4 .
Eine Reihe von Attributen sind boolesche Attribute . Das Vorhandensein eines booleschen Attributs für ein Element repräsentiert den wahren Wert, und das Fehlen des Attributs repräsentiert den falschen Wert.
Wenn das Attribut vorhanden ist, muss sein Wert entweder die leere Zeichenfolge oder ein Wert sein, bei dem der kanonische Name des Attributs nicht zwischen Groß- und Kleinschreibung unterschieden wird, ohne führende oder nachfolgende Leerzeichen.
Beispiel:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>