Attribut nextSibling du XML DOM
Définition et utilisation
L'attribut nextSibling peut renvoyer l'élément suivant immédiatement après un élément (au même niveau dans l'arbre).
Si ce noeud n'existe pas, l'attribut renvoie null.
Syntaxe :
nodeObject.nextSibling
Astuces et commentaires
Remarque :Internet Explorer ignore les noeuds de texte blanc générés entre les noeuds (par exemple, les symboles d'indentation), tandis que Mozilla ne le fait pas. Par conséquent, dans les exemples suivants, nous utiliserons une fonction pour vérifier le type de noeud du premier noeud enfant.
Le type de noeud de l'élément est 1, donc si le premier noeud enfant n'est pas un noeud élément, il passera au noeud suivant, puis continuera à vérifier si ce noeud est un noeud élément. Ce processus continuera jusqu'à ce que le premier noeud enfant élément soit trouvé. De cette manière, nous pouvons obtenir la méthode correcte dans Internet Explorer et Mozilla.
Astuces :Pour plus d'informations sur les différences entre le XML DOM d'Internet Explorer et Mozilla, veuillez visiter notre Navigateur DOM Chapitre.
Exemple
Dans tous les exemples, nous utiliserons le fichier XML books.xmlainsi que la fonction JavaScript loadXMLDoc()。
Le fragment de code suivant peut obtenir le noeud frère suivant du premier élément <title> du document XML :
//vérifier si le frère suivant du noeud est un noeud élément
function get_nextsibling(n)
{
var x=n.nextSibling
;
while (x.nodeType!=1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("title")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_nextsibling(x);
document.write("<br />Next sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Sortie :
title = Everyday Italian Next sibling: author = Giada De Laurentiis