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".
Ich würde zustimmen, dass sie ähnlich, aber leicht unterschiedlich sind, da sie nach unterschiedlichen Attributen fragen.
Darryl Hein
1
Autofokus funktioniert nur. testete es in FF, Opera und Chrome ..
Sohail Arif
Antworten:
93
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 , autofocusoder 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" .
+1 für die Erwähnung von XHTML. Die XML-Konformität von XHTML ist der einzige Grund, warum es jemals eine gegeben hat 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.
Tim Büthe
4
"XHTML ist der einzige Grund, warum es jemals einen gegeben hat 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. :)
Gr.
51
Zitieren Sie die HTML5-Spezifikation und erweitern Sie Pekka ein wenig:
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.
Das Fehlen des Attributs ist die einzig gültige Syntax für false :
<inputtype="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.
"Wenn Sie sich für ... XHTML interessieren". Nee. Lass es sterben.
Dem Pilafian
22
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.
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
oderautofocus="autofocus"
oder auchautofocus=""
.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
quelle
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 diesilly="silly"
Bool-Syntax anstelle von nur hatwhatever="true"
, und HTML ist der einzige Grund, warumthis="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 :
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
Fazit :
Folgendes ist gültig, gleichwertig und wahr :
Folgendes ist ungültig :
Das Fehlen des Attributs ist die einzig gültige Syntax für false :
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.quelle
Nein , es reicht aus, das Attribut selbst anzugeben. So war es auch in HTML 4 .
Beispiel:
quelle