Método compareDocumentPosition() del XML DOM
Definición y uso
compareDocumentPosition()
Comparar la posición de dos nodos en la estructura jerárquica del DOM (documento).
Sintaxis
nodeObject.compareDocumentPosition(node)
Parámetros
Parámetros | Descripción |
---|---|
node | Obligatorio. Objeto Node. Especifica el nodo con el que se debe comparar el nodo actual. |
Detalles técnicos
Versión DOM: | Core Level 3 Node Object |
---|---|
Valor de retorno: |
Números que representan la posición relativa de los nodos. Los valores posibles son:
Nota:El valor de retorno también puede ser una combinación de valores. Por ejemplo, el valor de retorno 20 indica que el nodo especificado se encuentra dentro del nodo actual (16) y sigue al nodo actual (4). |
Ejemplo
El siguiente código cargará "books.xml" en xmlDoc y comparará la posición de dos nodos en la estructura de nivel DOM (el primer y tercer elemento <book>):
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); }
La mayoría de los navegadores consideran los espacios en blanco o las nuevas líneas como nodos de texto, IE 9 y versiones anteriores no lo hacen. Por lo tanto, en el ejemplo anterior, la mayoría de los navegadores devolverán 4, mientras que IE 9 y versiones anteriores devolverán 2.
Compatibilidad del navegador
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Compatibilidad | Compatibilidad | Compatibilidad | Compatibilidad | Compatibilidad |
Todos los navegadores principales admiten el método compareDocumentPosition().
Nota:Internet Explorer 9 y versiones anteriores no admiten este método.