XML DOM compareDocumentPosition() metod

Definition och användning

compareDocumentPosition() Jämför positionen av två noder i DOM-hierarkin (dokument).

Syntax

nodeObject.compareDocumentPosition(node)

Parameter

Parameter Beskrivning
node Obligatorisk. Node-objekt. Anger noden som jämförs med den aktuella noden.

Tekniska detaljer

DOM-version: Core Level 3 Node Object
Returvärde:

Nummer som anger positionen av två noder relativt till varandra. Möjliga returvärden är:

  • 1 - Det finns inget förhållande, de två noderna tillhör inte samma dokument.
  • 2 - Den specifika noden ligger före den aktuella noden.
  • 4 - Den specifika noden följer den aktuella noden.
  • 8 - Den specifika noden innehåller den aktuella noden.
  • 16 - Den specifika noden innehåller den aktuella noden.
  • 32 - Den specifika noden och den aktuella noden har inget gemensamt container-element, eller så är de två noderna olika egenskaper av samma nod.

Observera:Returvärdet kan också vara en kombination av värden. Till exempel innebär returvärdet 20 att den specifika noden innehåller den aktuella noden (16) och att den specifika noden följer den aktuella noden (4).

Exempel

Följande kod laddar "books.xml" till xmlDoc och jämför positionen av två noder i DOM-hierarkin (den första och den tredje <book>-elementet):

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 själv

De flesta webbläsare betraktar tomma rader eller nya rader som textnoder, men inte IE 9 och tidigare versioner. Därför kommer de flesta webbläsare att visa 4 i det ovanstående exemplet, medan IE 9 och tidigare versioner kommer att visa 2.

Webbläsarstöd

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Stöd Stöd Stöd Stöd Stöd

Alla huvudsakliga webbläsare stöder compareDocumentPosition() metoden.

Anmärkning:Internet Explorer 9 och tidigare versioner stöder inte denna metod.