Propriété XML DOM previousSibling
❮ Objet élément
Exemple
Le fragment de code suivant charge « books.xml » dans xmlDoc et récupère le nœud frère précédent à partir du premier élément <author> :
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
//
Check if the previous sibling node is an element node
function
get_previoussibling(n) {
var x = n.previousSibling;
while (x.nodeType != 1) {
x =
x.previousSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("author")[0];
var y
= get_previoussibling(x);
document.getElementById("demo").innerHTML
= x.nodeName + " = " +
x.childNodes[0].nodeValue +
"<br>Previous sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
La sortie du code ci-dessus sera :
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Définition et utilisation
La propriété previousSibling renvoie le nœud frère précédent (le nœud précédent dans le même niveau d'arborescence) de l'élément sélectionné
S'il n'y a pas de nœud de ce type, cette propriété renvoie null.
Syntaxe
elementNode.previousSibling
Conseils et remarques
Remarque : Firefox et la plupart des autres navigateurs traiteront les espaces vides ou les nouvelles lignes comme des nœuds de texte, contrairement à Internet Explorer. Ainsi, dans l'exemple ci-dessous, nous avons une fonction qui vérifie le type de nœud du nœud frère précédent.
Les nœuds d'élément ont un nodeType de 1, donc si le nœud frère précédent n'est pas un nœud d'élément, il se déplace vers le nœud précédent et vérifie si ce nœud est un nœud d'élément. Cela continue jusqu'à ce que le nœud frère précédent (qui doit être un nœud d'élément) soit trouvé. De cette façon, le résultat sera correct dans tous les navigateurs.
Conseil : Pour en savoir plus sur les différences entre les navigateurs, consultez notre chapitre sur les navigateurs DOM dans notre didacticiel XML DOM.
Démos à essayer soi-même
❮ Objet élément