Kann ich ein benutzerdefiniertes Attribut zu einem HTML-Tag wie dem folgenden hinzufügen?
<tag myAttri="myVal" />
Kann ich ein benutzerdefiniertes Attribut zu einem HTML-Tag wie dem folgenden hinzufügen?
<tag myAttri="myVal" />
Hier ist das Beispiel:
document.getElementsByTagName("html").foo="bar"
Hier ist ein weiteres Beispiel, wie man benutzerdefinierte Attribute in das Body-Tag-Element einfügt:
document.getElementsByTagName('body')[0].dataset.attr1 = "foo";
document.getElementsByTagName('body')[0].dataset.attr2 = "bar";
Lesen Sie dann das Attribut von:
attr1 = document.getElementsByTagName('body')[0].dataset.attr1
attr2 = document.getElementsByTagName('body')[0].dataset.attr2
Sie können den obigen Code in Konsole in DevTools, z.B.
Nun! Sie können tatsächlich eine Reihe von benutzerdefinierten HTML-Attributen erstellen, indem Sie die Datenattribute in das verkleiden, was Sie eigentlich wollen.
z. B.
[attribute='value']{
color:red;
}
<span attribute="value" >hello world</span>
Es funktioniert anscheinend, aber das würde Ihr Dokument ungültig machen, es gibt keine Notwendigkeit der Verwendung von JScript für Sie, um benutzerdefinierte Attribute oder sogar Elemente, wenn Sie zu haben, müssen Sie nur Ihre neue formuliert (benutzerdefinierte) Attribute genauso behandeln, wie Sie Ihre "Daten"-Attribut behandeln
Erinnern Sie sich an "ungültig" bedeutet gar nichts. Das Dokument wird jederzeit problemlos geladen. und einige Browser würden Ihr Dokument nur durch das Vorhandensein von DOCTYPE..... validieren, Sie wissen schon, was ich meine.
Ein anderer Ansatz, der sauber ist und dafür sorgt, dass das Dokument gültig bleibt, ist die Verkettung der gewünschten Daten in einem anderen Tag, z. B. id, und dann die Verwendung von split, um die gewünschten Daten zu entnehmen, wenn Sie sie brauchen.
<html>
<script>
function demonstrate(){
var x = document.getElementById("example data").querySelectorAll("input");
console.log(x);
for(i=0;i<x.length;i++){
var line_to_illustrate = x[i].id + ":" + document.getElementById ( x[i].id ).value;
//concatenated values
console.log("this is all together: " + line_to_illustrate);
//split values
var split_line_to_illustrate = line_to_illustrate.split(":");
for(j=0;j<split_line_to_illustrate.length;j++){
console.log("item " + j+ " is: " + split_line_to_illustrate[j]);
}
}
}
</script>
<body>
<div id="example data">
<!-- consider the id values representing a 'from-to' relationship -->
<input id="1:2" type="number" name="quantity" min="0" max="9" value="2">
<input id="1:4" type="number" name="quantity" min="0" max="9" value="1">
<input id="3:6" type="number" name="quantity" min="0" max="9" value="5">
</div>
<input type="button" name="" id="?" value="show me" onclick="demonstrate()"/>
</body>
</html>
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.