Dom
DOM: Dokumentobjektmodell;
Knoten
Elementknoten: Das Atom des DOM ist der Elementknoten. Elemente wie <body>, <p>, <ul> usw. Elemente können andere Elemente enthalten. Das einzige Element, das nicht im anderen Element enthalten ist
Textknoten: In XHTML -Dokumenten sind Textknoten immer in Elementknoten enthalten.
Attributknoten: Attributknoten werden verwendet, um spezifischere Beschreibungen von Elementen zu erstellen. Zum Beispiel hat fast jedes Element ein Titelattribut, und wir können dieses Attribut verwenden, um genau zu beschreiben, was im Element enthalten ist:
<p> Vergiss nicht, dieses Zeug zu kaufen. </p>
In der DOM ist Titel = "Eine sanfte Erinnerung" ein Attributknoten.
CSS
Elemente bekommen
GetElementById, GetElementsByTagName, GetElements ByclassName drei Methoden, um Elementknoten zu erhalten.
GetElementsByTagName ermöglicht eine Wildcard als Parameter, was bedeutet, dass jedes Element im Dokument einen Platz im Array hat, der von der Funktion zurückgegeben wird. Wildcards ("*") müssen in Zitaten sein, die sich von Multiplikationsoperationen unterscheiden sollen.
Sie können auch GetElementById und GetElementsByTagName verwenden. Wie unten gezeigt:
Die Codekopie lautet wie folgt:
var Shopping = document.getElementById ("Kauf");
var its = copping.getElementsByTagName ("*");
Auf diese Weise können Sie wie viele Elemente erhalten, wie das Element mit dem Kauf des ID -Attributwerts den Wert enthält.
Die GetElements -By -ClassName -Methode wird nur von neueren Browsern unterstützt. Um dies auszugleichen, müssen DOM -Skript -Programmierer vorhandene DOM -Methoden verwenden, um ihre eigenen GetElements -ByClassName zu implementieren. In den meisten Fällen ähnelt ihr Implementierungsprozess in etwa dem folgenden GetElements -By -ClassName:
Die Codekopie lautet wie folgt:
Funktion getElements byclassName (Knoten, KlasseName) {
if (node.getElementsByClassName) {
return node.getElementsByClassName (className);
}anders{
var resultes = new Array ();
var elems = node.getElementsByTagName ("*");
für (var i = 0; i <elems.length; i ++) {
if (elems [i] .className.indexof (className)! = -1) {
Ergebnisse [results.length] = Elems [i];
}
}
Rückgabeergebnisse;
}
}
Die Funktion "GetElements ByclassName" akzeptiert zwei Parameter. Der erste Knoten repräsentiert den Ausgangspunkt der Suche im DOM -Baum, und der zweite Klassenname ist der Klassenname, nach dem man gesucht werden soll.
Eigenschaften bekommen und festlegen
GetAttribute ist eine Funktion mit nur einen Parameter - den Namen des Attributs, das Sie abfragen möchten:
Die Codekopie lautet wie folgt:
Object.GetAttribute (Attribut)
SetAttribute () ermöglicht es uns, den Wert des Attributknotens zu ändern. Nach dem Ändern des Dokuments über SetAttribute werden beim Anzeigen des Quellcode des Dokuments über die Quelloption des Browser -Ansichts das, was Sie sehen, weiterhin der vorherige Eigenschaftswert, dh die von setAttribute vorgenommenen Änderungen werden im Quellcode des Dokuments selbst nicht reflektiert. Dieses Phänomen von "inkonsistent innen und außen" stammt aus dem Arbeitsmodus von DOM: Laden Sie zuerst den statischen Inhalt des Dokuments und dann dynamisch aktualisiert, dynamische Aktualisierung hat keinen Einfluss auf den statischen Inhalt des Dokuments. Dies ist die eigentliche Kraft von DOM: Das Aktualisieren des Seiteninhalts ohne Aktualisieren der Seite im Browser.