Signatur
Beschreibung
Die Methode removeChild() der Node-Schnittstelle entfernt einen Kindknoten aus dem DOM und gibt den entfernten Knoten zurück.
Solange eine Referenz auf das entfernte Kind gehalten wird, existiert es weiterhin im Speicher, ist jedoch nicht mehr Teil des DOM. Es kann später im Code weiterverwendet werden.
Wird der Rückgabewert von removeChild() nicht gespeichert und keine andere Referenz gehalten, wird er nach kurzer Zeit automatisch aus dem Speicher entfernt.
Im Gegensatz zu Node.cloneNode() bleiben beim Rückgabewert die zugehörigen EventListener-Objekte erhalten.
Ausnahmen:
NotFoundErrorDOMException– wird geworfen, wennchildkein Kind des Knotens ist.TypeError– wird geworfen, wennchildgleichnullist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $child Pflicht | Node | — | Ein Node, der das aus dem DOM zu entfernende Kindelement ist. |
Rückgabewert
child-Knoten.Beispiele
Ein Element entfernen, wenn der Elternknoten bekannt ist
const parent = document.getElementById("parent");
const child = document.getElementById("child");
const throwawayNode = parent.removeChild(child);
Ein Element entfernen, ohne den Elternknoten anzugeben
const node = document.getElementById("child");
if (node.parentNode) {
node.parentNode.removeChild(node);
}
Alle Kinder eines Elements entfernen
const element = document.getElementById("idOfParent");
while (element.firstChild) {
element.removeChild(element.firstChild);
}
Einen TypeError verursachen
const parent = document.getElementById("parent");
const child = document.getElementById("child");
// Wirft Uncaught TypeError
const garbage = parent.removeChild(child);
Einen NotFoundError verursachen
const parent = document.getElementById("parent");
const child = document.getElementById("child");
// Dieser erste Aufruf entfernt den Knoten korrekt
const garbage = parent.removeChild(child);
// Zweiter Aufruf wirft NotFoundError
parent.removeChild(child);