Node: previousSibling Eigenschaft
Die schreibgeschützte previousSibling
-Eigenschaft der Node
-Schnittstelle
gibt den Knoten zurück, der unmittelbar vor dem angegebenen Knoten in der childNodes
-Liste seines Elternknotens steht,
oder null
, wenn der angegebene Knoten der erste in dieser Liste ist.
Hinweis: Browser fügen einem Dokument Textknoten hinzu, um Leerzeichen im Quellmarkup darzustellen.
Daher kann ein Knoten, der beispielsweise mit Node.firstChild
oder Node.previousSibling
abgerufen wird,
auf einen Leerzeichentextknoten verweisen, anstatt auf das tatsächliche Element, das der Autor abrufen wollte.
Siehe Leerzeichen im DOM für weitere Informationen.
Sie können previousElementSibling
verwenden,
um den vorherigen Elementknoten zu erhalten (Überspringen von Textknoten und anderen nicht-Elementknoten).
Um in die entgegengesetzte Richtung durch die Liste der Kindknoten zu navigieren, verwenden Sie Node.nextSibling.
Wert
Ein Node
, der das vorherige Geschwister des aktuellen Knotens darstellt,
oder null
, wenn es keine gibt.
Beispiele
Die folgenden Beispiele zeigen, wie previousSibling
funktioniert, mit und ohne zwischen den Elementen gemischte Textknoten.
Erstes Beispiel
In diesem Beispiel haben wir eine Reihe von img
-Elementen, die direkt nebeneinander stehen, ohne Leerzeichen dazwischen.
<img id="b0" /><img id="b1" /><img id="b2" />
document.getElementById("b1").previousSibling; // <img id="b0">
document.getElementById("b2").previousSibling.id; // "b1"
Zweites Beispiel
In diesem Beispiel befinden sich Leerzeichentextknoten (Zeilenumbrüche) zwischen den img
-Elementen.
<img id="b0" />
<img id="b1" />
<img id="b2" />
document.getElementById("b1").previousSibling; // #text
document.getElementById("b1").previousSibling.previousSibling; // <img id="b0">
document.getElementById("b2").previousSibling.previousSibling; // <img id="b1">
document.getElementById("b2").previousSibling; // #text
document.getElementById("b2").previousSibling.id; // undefined
Spezifikationen
Specification |
---|
DOM Standard # ref-for-dom-node-previoussibling① |
Browser-Kompatibilität
BCD tables only load in the browser