XML DOM compareDocumentPosition() Methode

Definition und Verwendung

compareDocumentPosition() Verwenden Sie die compareDocumentPosition()-Methode, um die Position von zwei Knoten im DOM-Hierarchie (Dokument) zu vergleichen.

Syntax

nodeObject.compareDocumentPosition(node)

Parameter

Parameter Beschreibung
node Erforderlich. Node-Objekt. Bestimmt den Knoten, der mit dem aktuellen Knoten verglichen wird.

Technische Details

DOM-Version: Core Level 3 Node Object
Rückgabewert:

Zahlen, die die relative Position der beiden Knoten darstellen. Mögliche Rückgabewerte sind:

  • 1 - Keine Beziehung, die beiden Knoten gehören nicht zum gleichen Dokument.
  • 2 - Der angegebene Knoten befindet sich vor dem aktuellen Knoten.
  • 4 - Der angegebene Knoten folgt dem aktuellen Knoten.
  • 8 - Der angegebene Knoten enthält den aktuellen Knoten.
  • 16 - Der angegebene Knoten ist im aktuellen Knoten enthalten.
  • 32 - Der angegebene Knoten und der aktuelle Knoten haben keinen gemeinsamen Containerknoten oder sind unterschiedliche Attribute desselben Knotens.

Hinweis:Der Rückgabewert kann auch eine Kombination von Werten sein. Zum Beispiel bedeutet der Rückgabewert 20, dass der angegebene Knoten im aktuellen Knoten (16) enthalten ist und der angegebene Knoten dem aktuellen Knoten (4) folgt.

Beispiel

Das folgende Code lädt "books.xml" in xmlDoc und vergleicht die Positionen von zwei Knoten im DOM-Hierarchie (dem ersten und dritten <book>-Element):

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);
}

Probieren Sie es selbst aus

Die meisten Browser betrachten Leerzeichen oder neue Zeilen als Textknoten, nicht jedoch IE 9 und frühere Versionen. Daher geben die meisten Browser in diesem Beispiel 4 aus, während IE 9 und frühere Versionen 2 ausgeben.

Browser-Unterstützung

Browser-Unterstützung Chrome Edge Firefox Safari
Browser-Unterstützung Chrome Edge Firefox Safari
Opera Opera Opera Opera Opera

Unterstützt

Alle gängigen Browser unterstützen die Methode compareDocumentPosition().Anmerkung: