Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Node: compareDocumentPosition()-Methode

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die compareDocumentPosition()-Methode des Node-Interfaces gibt die Position des Argumentknotens im Verhältnis zu dem Knoten, auf dem sie aufgerufen wird, an.

Syntax

js
compareDocumentPosition(otherNode)

Parameter

otherNode

Der Node, dessen Position relativ zum Knoten gemeldet werden soll.

Rückgabewert

Ein Ganzzahlenwert, der die Position von otherNode relativ zu node als Bitmaske darstellt, indem er die folgenden konstanten Eigenschaften von Node kombiniert oder 0, falls otherNode derselbe Knoten ist wie dieser:

Node.DOCUMENT_POSITION_DISCONNECTED (1)

Beide Knoten befinden sich in verschiedenen Dokumenten oder in verschiedenen Bäumen desselben Dokuments.

Node.DOCUMENT_POSITION_PRECEDING (2)

otherNode geht dem Knoten voraus in einer präorderigen erweiterten Tiefensuche eines Baums, der beide Knoten enthält (z. B. als Vorfahre oder vorheriges Geschwister oder Nachkomme eines vorherigen Geschwisters oder vorheriges Geschwister eines Vorfahren) oder (wenn sie getrennt sind) in einer willkürlichen, aber konsistenten Reihenfolge.

Node.DOCUMENT_POSITION_FOLLOWING (4)

otherNode folgt dem Knoten in einer präorderigen erweiterten Tiefensuche eines Baums, der beide Knoten enthält (z. B. als Nachkomme oder folgendes Geschwister oder Nachkomme eines folgenden Geschwisters oder folgendes Geschwister eines Vorfahren) oder (wenn sie getrennt sind) in einer willkürlichen, aber konsistenten Reihenfolge.

Node.DOCUMENT_POSITION_CONTAINS (8)

otherNode ist ein Vorfahre des Knotens.

Node.DOCUMENT_POSITION_CONTAINED_BY (16)

otherNode ist ein Nachkomme des Knotens.

Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC (32)

Das Ergebnis beruht auf willkürlichem und/oder spezifikationsspezifischem Verhalten und ist nicht garantiert portierbar.

Je nach den zutreffenden Szenarien können null oder mehr Bits gesetzt werden. Zum Beispiel, wenn otherNode sich früher im Dokument befindet und den Knoten enthält, auf dem compareDocumentPosition() aufgerufen wurde, dann würden sowohl die Bits DOCUMENT_POSITION_CONTAINS als auch DOCUMENT_POSITION_PRECEDING gesetzt sein, was einen Wert von 10 (0x0A) ergibt.

Beispiel

js
const head = document.head;
const body = document.body;

if (head.compareDocumentPosition(body) & Node.DOCUMENT_POSITION_FOLLOWING) {
  console.log("Well-formed document");
} else {
  console.error("<head> is not before <body>");
}

Hinweis: Da das Ergebnis, das von compareDocumentPosition() zurückgegeben wird, eine Bitmaske ist, muss der Bitweise UND-Operator für sinnvolle Ergebnisse verwendet werden.

Spezifikationen

Spezifikation
DOM
# ref-for-dom-node-comparedocumentposition①

Browser-Kompatibilität

Siehe auch