JavaScript/DOM/Node/parentElement
Die Eigenschaft Node.parentElement speichert das Elternelement eines Elements und ist damit genauer als die vergleichbare Eigenschaft Node.parentNode.
Syntax
elternelement = node.parentElement
-
elternelement
: Elternelement des Datenknotens
In den meisten Fällen ist das Ergebnis wie bei parentNode. Der parentNode ist ja immer ein Element, außer, wenn es sich um das html-Element handelt:
document.body.parentNode; // das <html> Element document.body.parentElement; // das <html> Element document.documentElement.parentNode; // document node document.documentElement.parentElement; // null
document.body.addEventListener("click", function (event) { const target = event.target; if (target.closest("#controls")) { if (!selectedElement) return; clearHighlights(); if (target.id === "parent" && selectedElement.parentElement) { selectedElement.parentElement.classList.add("isParent"); } else if (target.id === "prev" && selectedElement.previousElementSibling) { selectedElement.previousElementSibling.classList.add("isPrevSibling"); } else if (target.id === "next" && selectedElement.nextElementSibling) { selectedElement.nextElementSibling.classList.add("isNextSibling"); } return; } if (selectedElement) selectedElement.classList.remove("selected"); selectedElement = target; selectedElement.classList.add("selected"); clearHighlights(); });
Das Beispiel enthält eine Webseite mit vielen Elementen.
Wenn man ein Element auswählt, kann man anschließend mit einem Klick auf die jeweiligen Buttons ...
- mit Node.parentElement das Elternelement,
- mit previousElementSibling die vorherigen Geschwisterelemente und
- mit nextElementSibling die vorherigen Geschwisterelemente sichtbar machen.
Siehe auch
Mit den Eigenschaften des Node-Objekts werden alle Knoten - auch Textknoten (evtl. sogar mit Whitespace) - ermittelt. Meist will man aber nur Elementknoten ansprechen. Hier haben andere Schnittstellen bessere Methoden, die die gewünschten Elemente herausfiltern:
- Was ist das DOM?
- Baumstruktur
- Elementknoten ansprechen
- Textknoten ansprechen
- DOM-Traversal
Den Elementbaum rauf und runter klettern!