Kann ich einem HTML-Tag ein benutzerdefiniertes Attribut wie das folgende hinzufügen?
<tag myAttri="myVal" />
html
custom-attribute
Liebesfrühling
quelle
quelle
Antworten:
Sie können Ihre! DOCTYPE-Deklaration (dh DTD) so ändern, dass das [XML] -Dokument weiterhin gültig ist:
#IMPLIED
bedeutet, dass es sich um ein optionales Attribut handelt oder dass Sie es verwenden#REQUIRED
können usw.Weitere Informationen finden Sie in DTD - Attribute .
quelle
<meta http-equiv="content-type" content="application/xhtml+xml" />
.data-
.Sie können Ihren Elementen nach Belieben benutzerdefinierte Attribute hinzufügen. Dadurch wird Ihr Dokument jedoch ungültig.
In HTML 5 haben Sie die Möglichkeit, benutzerdefinierte Datenattribute
data-
zu verwenden , denen ein Präfix vorangestellt ist .quelle
|
in einem CSS nicht erlaubt isthref
, aber das ist, was für Google FontsNein, dies wird die Validierung unterbrechen.
In HTML 5 können / werden Sie benutzerdefinierte Attribute hinzufügen können. Etwas wie das:
quelle
Mit der jQuery-
data()
Funktion können Sie DOM-Elementen beliebige Daten zuordnen. Hier ist ein Beispiel .quelle
In HTML5: Ja: Verwenden Sie das Datenattribut .
quelle
Ja, Sie können, Sie haben es in der Frage selbst getan :
<html myAttri="myVal"/>
.quelle
quelle
Ja, du kannst es schaffen!
Das nächste
HTML
Tag haben:Wir können auf ihre Attribute zugreifen mit
JavaScript
:Element.setAttribute()
Fügen Sie das Attribut in dasHTML
Tag ein, falls es nicht vorhanden ist. Sie müssen es also nicht imHTML
Code deklarieren, wenn Sie es mit festlegen möchtenJavaScript
.key
: kann ein beliebiger Name sein, den Sie für das Attribut wünschen, der jedoch noch nicht für das aktuelle Tag verwendet wird.value
: Es ist immer eine Zeichenfolge, die enthält, was Sie benötigen.quelle
Sie können Eigenschaften über JavaScript festlegen.
quelle
Hier ist das Beispiel:
Hier ist ein weiteres Beispiel zum Festlegen benutzerdefinierter Attribute für das Body-Tag-Element:
Lesen Sie dann das Attribut durch:
Sie können den obigen Code in der Konsole in DevTools testen, z
quelle
benutze Daten - beliebig, ich benutze sie oft
quelle
data-*
Werte aus JavaScript?Ein anderer Ansatz, der sauber ist und das Dokument gültig hält, besteht darin, die gewünschten Daten in ein anderes Tag, z. B. eine ID, zu verketten und dann mit split das zu übernehmen, was Sie möchten, wann Sie es möchten.
quelle
Sie können hinzufügen, aber dann müssen Sie auch eine Zeile JavaScript-Code schreiben,
um sicherzustellen, dass alles passt. Ich meine Internet Explorer :)
quelle
<tag ...>
hier bedeutet anscheinend nur ein beliebiges HTML-Tag.Gut! Sie können tatsächlich eine Reihe von benutzerdefinierten HTML-Attributen erstellen, indem Sie die Datenattribute so verkleiden, wie Sie es tatsächlich möchten.
z.B.
Es funktioniert anscheinend, aber das würde Ihr Dokument ungültig machen. Sie müssen JScript nicht verwenden, um benutzerdefinierte Attribute oder sogar Elemente zu haben, es sei denn, Sie müssen Ihre neuen formulierten (benutzerdefinierten) Attribute genauso behandeln, wie Sie Ihre behandeln Attribut "Daten"
Denken Sie daran, "ungültig" bedeutet nichts. Das Dokument wird jederzeit einwandfrei geladen. und einige Browser würden Ihr Dokument tatsächlich nur durch das Vorhandensein von DOCTYPE validieren ..... Sie wissen tatsächlich, was ich meine.
quelle
Sie können so etwas tun, um den gewünschten Wert aus JavaScript anstelle eines Attributs zu extrahieren:
quelle
<input type="hidden" value="...">
. Berücksichtigen Sie jedoch den Unterschied zwischen dem Datentyp, den Sie in verschiedene Attribute eingeben, und den Daten, die Sie möglicherweise in ein verstecktes Feld eingeben. Ein<span>
(ausgerechnet) in einem<a>
zu verstecken, um ein Stück Metadaten zu pflegen, ist kein guter Schachzug. Es wäre eigenartig für Ihre Site und sehr stark von JS abhängig (anmutige Erniedrigung, Menschen).