Método compareDocumentPosition() do XML DOM
Definição e uso
compareDocumentPosition()
Comparar a posição de dois nós no domínio DOM (documento).
Sintaxe
nodeObject.compareDocumentPosition(node)
Parâmetros
Parâmetros | Descrição |
---|---|
node | Obrigatório. Objeto Node. Especifica o nó com o qual o nó atual deve ser comparado. |
Detalhes técnicos
Versão DOM: | Core Level 3 Node Object |
---|---|
Retorno: |
Números, que representam a posição relativa dos nós. Os valores possíveis são:
Atenção:O valor retornado também pode ser uma combinação de valores. Por exemplo, o valor retornado 20 indica que o nó especificado está contido no nó atual (16) e segue o nó atual (4). |
Exemplo
O código abaixo carregará "books.xml" no xmlDoc e comparará a posição de dois nós (o primeiro e o terceiro elemento <book>) na estrutura DOM:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName('book')[0]; var y = xmlDoc.getElementsByTagName('book')[2]; document.getElementById("demo").innerHTML = x.compareDocumentPosition(y); }
A maioria dos navegadores considera espaços em branco ou novas linhas como nós de texto, enquanto o IE 9 e versões anteriores não o fazem. Portanto, no exemplo acima, a maioria dos navegadores produzirá 4, enquanto o IE 9 e versões anteriores produzirão 2.
Suporte a Navegadores
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Suporte | Suporte | Suporte | Suporte | Suporte |
Todos os navegadores principais suportam o método compareDocumentPosition().
Observação:Os navegadores Internet Explorer 9 e anteriores não suportam este método.