Nach der Beantwortung this question Ich frage mich, warum removeChild
braucht ein Elternelement. Immerhin konnten wir einfachWarum benötigt removeChild einen Elternknoten?
node.parentNode.removeChild(node);
tun Da der übergeordnete Knoten immer direkt mit dem Javascript/DOM-Motor verfügbar sein sollte, ist es nicht unbedingt notwendig, den übergeordneten Knoten des Knotens zu liefern, die entfernt werden soll.
Natürlich verstehe ich das Prinzip, dass removeChild
eine Methode eines DOM-Knotens ist, aber warum existiert so etwas wie nicht (das akzeptiert nur einen beliebigen Knoten als Parameter)?
EDIT: Um klarer zu sein, die Frage ist: Warum braucht die JS-Engine überhaupt den Elternknoten, wenn sie bereits den (eindeutigen) Knoten hat, der entfernt werden soll?
Das DOM ist ein objektorientiertes Konzept. Das bedeutet, dass es sinnvoller wäre, wenn 'Node.prototype.remove' existieren würde, um den Knoten selbst zu entfernen, als wenn 'Document.prototype.removeNode' existieren würde, um einen Knoten aus dem Dokument zu entfernen. Weil letzteres einfach implementiert würde, indem 'removeChild' auf dem Elternknoten des Knotens aufgerufen wird. – Gumbo