Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Node : propriété previousSibling

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La propriété en lecture seule previousSibling de l'interface Node retourne le nœud précédant immédiatement le nœud défini dans la liste childNodes de son parent, ou null si le nœud défini est le premier de cette liste.

Note : Les navigateurs insèrent des nœuds texte dans un document pour représenter les espaces dans le balisage source. Par conséquent, un nœud obtenu par exemple avec Node.firstChild ou Node.previousSibling peut faire référence à un nœud texte contenant des espaces plutôt qu'au véritable élément que l'auteur·ice comptait obtenir.

La section Travailler avec les espaces blancs dans le DOM contient plus d'informations sur ce comportement.

Vous pouvez utiliser previousElementSibling pour obtenir le nœud élément précédent (en ignorant les nœuds texte et tout autre nœud non élément).

Pour naviguer dans l'autre sens à travers la liste des nœuds enfants, utilisez Node.nextSibling.

Valeur

Un objet Node représentant le nœud précédent du nœud actuel, ou null s'il n'y en a pas.

Exemples

Les exemples suivants montrent comment previousSibling fonctionne avec et sans nœuds texte mélangés aux éléments.

Premier exemple

Dans cet exemple, nous avons une série d'éléments HTML <span> directement adjacents les uns aux autres, sans espace entre eux.

html
<span id="b0"></span><span id="b1"></span><span id="b2"></span>
js
document.getElementById("b1").previousSibling; // <span id="b0">
document.getElementById("b2").previousSibling.id; // "b1"

Second exemple

Dans cet exemple, il y a des nœuds texte d'espacement (sauts de ligne) entre les éléments HTML <span>.

html
<span id="b0"></span>
<span id="b1"></span>
<span id="b2"></span>
js
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

Spécifications

Spécification
DOM
# ref-for-dom-node-previoussibling①

Compatibilité des navigateurs

Voir aussi