DOM
Elemente manipulieren
Suche…
Elemente klonen
Ein Element kann durch Aufrufen der cloneNode Methode geklont werden. Wenn der erste Parameter zu übergeben cloneNode ist true , auch die Kinder der ursprünglichen geklont werden.
var original = document.getElementsByTagName("li")[0];
var clone = original.cloneNode(true);
Element hinzufügen
In diesem Beispiel erstellen wir ein neues Listenelement mit dem Text "Neuer Text" und wählen die erste ungeordnete Liste und das erste Listenelement aus.
let newElement = document.createElement("li");
newElement.innerHTML = "new text";
let parentElement = document.querySelector("ul");
let nextSibling = parentElement.querySelector("li");
Wenn Sie ein Element einfügen, führen wir es unter dem übergeordneten Element und unmittelbar vor einem bestimmten untergeordneten Element dieses übergeordneten Elements aus.
parentElement.insertBefore(newElement, nextSibling);
Das neue Element wird unter
parentElementund unmittelbar vornextSibling.
Wenn ein Element als letztes parentElement Element von parentElement , kann das zweite Argument null .
parentElement.insertBefore(newElement, null);
Das neue Element wird unter
parentElementals letztesparentElementElement eingefügt.
Stattdessen kann appendChild() verwendet werden, um das appendChild() einfach an die appendChild() des übergeordneten Knotens anzuhängen.
parentElement.appendChild(newElement);
Das neue Element wird unter
parentElementals letztesparentElementElement eingefügt.
Element ersetzen
In diesem Beispiel erstellen wir ein neues Listenelement mit dem Text "Neuer Text" und wählen die erste ungeordnete Liste und das erste Listenelement aus.
let newElement = document.createElement("li");
newElement.innerHTML = "new text";
let parentElement = document.querySelector("ul");
let nextSibling = parentElement.querySelector("li");
Um ein Element zu ersetzen, verwenden wir replaceChild :
parentElement.replaceChild(newElement, nextSibling);
nextSiblingwird aus dem DOM entfernt. An seiner Stelle steht jetztnewElement.
Element entfernen
Ein Element kann durch Aufrufen von remove() entfernt werden. Alternativ kann removeChild() für das übergeordnete removeChild() . removeChild() hat eine bessere Browserunterstützung als remove() .
element.remove();
elementund alle zugehörigen untergeordneten Elemente werden aus dem DOM entfernt.
parentElement.removeChild(element);
elementund alle zugehörigen untergeordneten Elemente werden aus dem DOM entfernt.
In jedem Fall kann dieser Knoten zu einem späteren Zeitpunkt in das DOM eingefügt werden, solange noch Verweise auf diesen Knoten vorhanden sind.
Methoden anhängen und vorbereiten
JavaScript verfügt jetzt über die in jQuery vorhandenen Methoden Append und Prepend
Der Hauptvorteil von append und prepend ist im Gegensatz zu appendChild und insertBefore . Es kann eine beliebige Anzahl von Argumenten verwendet werden, entweder ein HTML-Element oder einfacher Text (der in insertBefore konvertiert wird).
Zum Anhängen sagen wir 1 Div, 1 Textknoten und 1 Bereich
document.body.append(document.createElement('div'),"Hello world",document.createElement('span'))
Dadurch wird die Seite in die folgende Struktur geändert
<body>
.....(other elements)
<div></div>
"Hello World"
<span></span>
</body>
Dasselbe im Körper vorzuschlagen
Benutzen
document.body.prepend(document.createElement('div'),"Hello world",document.createElement('span'))
Dadurch wird die Seite in die folgende Struktur geändert
<body>
<div></div>
"Hello World"
<span></span>
.....(other elements)
</body>
Beachten Sie, dass der Browser unterstützt
Chrome 54+
Firefox 49+
Opera 39+
Lesen Sie mehr bei MDN