Propriedade previousSibling do XML DOM
Definição e uso
A propriedade previousSibling retorna o nó anterior irmão do nó selecionado (o nó anterior na mesma hierarquia de árvore).
Se não existir tal nó, a propriedade retorna null.
Sintaxe:
elementNode.previousSibling
Dicas e notas
Nota:O Internet Explorer ignora os nós de texto em branco gerados entre os nós (como caracteres de nova linha), enquanto o Mozilla não faz isso. Portanto, no exemplo a seguir, usamos uma função para detectar o tipo de nó do nó anterior irmão.
O tipo de nó do nó de elemento é 1, portanto, se o nó anterior irmão não for um nó de elemento, mova para o nó anterior e verifique se o nó é um nó de elemento. Este processo continua até encontrar o nó anterior irmão. Este método garante que sejam obtidos resultados corretos no Internet Explorer e no Mozilla.
Para mais informações sobre as diferenças entre os navegadores IE e Mozilla, acesse o tutorial XML DOM no CodeW3C.com Navegador DOM esta seção.
exemplo
Em todos os exemplos, usaremos o arquivo XML books.xmle a função JavaScript loadXMLDoc().
O código fragmento a seguir obtém o nó anterior irmão do primeiro elemento <author> do documento XML:
//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 />Antecessor anterior: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Saída do código acima:
author = Giada De Laurentiis Antecessor anterior: title = Everyday Italian