XML DOM propiedad anterior del hermano
❮ Objeto Elemento
Ejemplo
El siguiente fragmento de código carga " books.xml " en xmlDoc y obtiene el nodo hermano anterior del primer elemento <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 salida del código anterior será:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Definición y uso
La propiedad previousSibling devuelve el nodo hermano anterior (el nodo anterior en el mismo nivel de árbol) del elemento seleccionado
Si no existe tal nodo, esta propiedad devuelve nulo.
Sintaxis
elementNode.previousSibling
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 ejemplo a continuación, tenemos una función que verifica el tipo de nodo del nodo hermano anterior.
Los nodos de elemento tienen un tipo de nodo de 1, por lo que si el nodo hermano anterior no es un nodo de elemento, se mueve al nodo anterior y verifica si este nodo es un nodo de elemento. Esto continúa hasta que se encuentra el nodo hermano anterior (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 Elemento