Metodo compareDocumentPosition() del DOM XML

Definizione e uso

compareDocumentPosition() Il metodo confronta la posizione del nodo corrente nel documento in base all'ordine del documento con il nodo specificato.

Sintassi

elementNode.compareDocumentPostition(node)
Parametro Descrizione
node Obbligatorio. Specifica il nodo con cui confrontare il nodo corrente.

Esempio

Il seguente codice carica "books.xml" in xmlDoc e confronta la posizione di due nodi (il primo e il terzo elemento <book>) nella struttura gerarchica 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);
}

Prova personalmente

La maggior parte dei browser considera spazi o nuove righe come nodi di testo, mentre Internet Explorer 9 e versioni precedenti non lo fanno. Pertanto, nella esempio sopra, la maggior parte dei browser restituiranno 4, mentre Internet Explorer 9 e versioni precedenti restituiranno 2.

Per ulteriori informazioni sulle differenze tra i browser, visitare la sezione DOM Browser del tutorial XML DOM.