Propiedad previousSibling de XML DOM

Manual de referencia del objeto Node

Definición y uso

La propiedad previousSibling puede devolver el nodo que precede inmediatamente a un nodo (que se encuentra en el mismo nivel de la estructura de árbol)

Si no hay este nodo, la propiedad devuelve null.

Sintaxis:

nodeObject.previousSibling

Consejos y notas

Notas:Internet Explorer ignora los nodos de texto en blanco generados entre los nodos (por ejemplo, los símbolos de nueva línea), mientras que Mozilla no hace esto. Por lo tanto, en el siguiente ejemplo, utilizaremos una función para verificar el tipo de nodo del primer nodo hijo.

El tipo de nodo del nodo de elemento es 1, por lo que si el primer nodo hijo no es un nodo de elemento, se desplazará al siguiente nodo y continuará verificando si este nodo es un nodo de elemento. Este proceso continuará hasta que se encuentre el primer nodo hijo de elemento. De esta manera, podemos obtener el método correcto en Internet Explorer y Mozilla.

Consejo:Para obtener más información sobre las diferencias entre XML DOM en IE y Mozilla, visite nuestra Navegador DOM capítulo.

ejemplo

En todos los ejemplos, utilizaremos el archivo XML books.xmly la función JavaScript loadXMLDoc().

El siguiente fragmento de código se puede obtener del nodo <author> del documento XML para obtener el nodo hermano anterior:

//verificar si el nodo hermano anterior es un nodo de elemento
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />Hermano anterior: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

Salida:

author = Giada De Laurentiis
Hermano anterior: title = Everyday Italian

Manual de referencia del objeto Node