Propiedad XML DOM nextSibling
❮ Objeto de nodo
Ejemplo
El siguiente fragmento de código carga " books.xml " en xmlDoc y obtiene el siguiente nodo hermano del primer elemento <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 salida del código anterior será:
title = Everyday Italian
Next sibling: author = Giada De Laurentiis
Definición y uso
La propiedad nextSibling devuelve el nodo que sigue inmediatamente a un nodo (el siguiente nodo en el mismo nivel de árbol).
Si no existe tal nodo, esta propiedad devuelve nulo.
Sintaxis
nodeObject.nextSibling
Consejos y notas
Nota: Firefox y la mayoría de los demás navegadores tratarán los espacios en blanco vacíos o las líneas nuevas como nodos de texto, Internet Explorer no lo hará. Entonces, en el siguiente ejemplo, tenemos una función que verifica el tipo de nodo del siguiente nodo hermano.
Los nodos de elemento tienen un tipo de nodo de 1, por lo que si el siguiente nodo hermano no es un nodo de elemento, se mueve al siguiente nodo y verifica si este nodo es un nodo de elemento. Esto continúa hasta que se encuentra el siguiente nodo hermano (que debe ser un nodo de elemento). De esta forma, el resultado será correcto en todos los navegadores.
Sugerencia: Para leer más sobre las diferencias entre los navegadores, visite nuestro capítulo Navegadores DOM en nuestro Tutorial XML DOM.
Demostraciones para que lo pruebe usted mismo
❮ Objeto de nodo