Node: previousSibling-Eigenschaft
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die schreibgeschützte previousSibling-Eigenschaft der Node-Schnittstelle
gibt den Knoten zurück, der in der childNodes-Liste des übergeordneten Knotens unmittelbar vor dem angegebenen Knoten 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 zum Beispiel mit Node.firstChild oder Node.previousSibling erhalten wird, einen Leerzeichen-Textknoten anstelle des tatsächlichen Elements darstellen, das der Autor zu erhalten beabsichtigte.
Weitere Informationen finden Sie unter Arbeiten mit Leerzeichen im DOM.
Sie können previousElementSibling verwenden, um den vorhergehenden Element-Knoten zu erhalten (dabei werden Textknoten und andere Nicht-Element-Knoten übersprungen).
Um in die entgegengesetzte Richtung durch die Liste der Kindknoten zu navigieren, verwenden Sie Node.nextSibling.
Wert
Ein Node, der das vorherige Geschwisterelement des aktuellen Knotens darstellt,
oder null, wenn es keines gibt.
Beispiele
Die folgenden Beispiele zeigen, wie previousSibling funktioniert, sowohl mit als auch ohne gemischte Textknoten in den Elementen.
Erstes Beispiel
In diesem Beispiel haben wir eine Reihe von <span>-Elementen, die direkt nebeneinander stehen, ohne Leerraum dazwischen.
<span id="b0"></span><span id="b1"></span><span id="b2"></span>
document.getElementById("b1").previousSibling; // <span id="b0">
document.getElementById("b2").previousSibling.id; // "b1"
Zweites Beispiel
In diesem Beispiel befinden sich Leerzeichen-Textknoten (Zeilenumbrüche) zwischen den <span>-Elementen.
<span id="b0"></span>
<span id="b1"></span>
<span id="b2"></span>
document.getElementById("b1").previousSibling; // #text
document.getElementById("b1").previousSibling.previousSibling; // <span id="b0">
document.getElementById("b2").previousSibling.previousSibling; // <span id="b1">
document.getElementById("b2").previousSibling; // #text
document.getElementById("b2").previousSibling.id; // undefined
Spezifikationen
| Specification |
|---|
| DOM> # ref-for-dom-node-previoussibling①> |
Browser-Kompatibilität
Loading…