Propriedade previousSibling do XML DOM
Definição e uso
A propriedade previousSibling pode retornar o nó imediatamente anterior a um nó (no mesmo nível da árvore)
Se não houver este nó, a propriedade retornará null.
Sintaxe:
nodeObject.previousSibling
Dicas e notas
Notas:O Internet Explorer ignorará os nós de texto em branco gerados entre os nós (por exemplo, sinais de nova linha), enquanto o Mozilla não fará isso. Portanto, no exemplo a seguir, usaremos uma função para verificar o tipo de nó do primeiro filho.
O tipo de nó do nó de elemento é 1, portanto, se o primeiro filho não for um nó de elemento, ele será movido para o próximo nó e continuará a verificar se este nó é um nó de elemento. Este processo continuará até que o primeiro filho de elemento seja encontrado. Com este método, podemos obter o método correto no Internet Explorer e no Mozilla.
Dica:Para mais informações sobre as diferenças entre o XML DOM no Internet Explorer e no Mozilla, acesse nossa Navegador DOM capítulo.
exemplo
Em todos os exemplos, usaremos o arquivo XML books.xmle a função JavaScript loadXMLDoc().
O trecho de código a seguir pode ser obtido do elemento <author> do documento XML para obter o nó anterior irmão:
//verificar se o nó anterior irmão é um nó 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 />Próximo nó同级: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Saída:
author = Giada De Laurentiis Próximo nó同级: title = Everyday Italian