Propriété XML DOM nextSibling
❮ Objet nœud
Exemple
Le fragment de code suivant charge « books.xml » dans xmlDoc et obtient le nœud frère suivant à partir du premier élément <title> :
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 next sibling node is an element node
function
get_nextsibling(n) {
var x = n.nextSibling;
while (x.nodeType != 1) {
x =
x.nextSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("title")[0];
var y
= get_nextsibling(x);
document.getElementById("demo").innerHTML
= x.nodeName + " = " +
x.childNodes[0].nodeValue +
"<br>Next sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
La sortie du code ci-dessus sera :
title = Everyday Italian
Next sibling: author = Giada De Laurentiis
Définition et utilisation
La propriété nextSibling renvoie le nœud suivant immédiatement un nœud (le nœud suivant dans le même niveau d'arborescence).
S'il n'y a pas de nœud de ce type, cette propriété renvoie null.
Syntaxe
nodeObject.nextSibling
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 prochain nœud frère.
Les nœuds d'élément ont un nodeType de 1, donc si le nœud frère suivant n'est pas un nœud d'élément, il passe au nœud suivant et vérifie si ce nœud est un nœud d'élément. Cela continue jusqu'à ce que le nœud frère suivant (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 nœud