XML DOM compareDocumentPosition() metoden

Definisjon og bruk

compareDocumentPosition() Sammenlign positionen av to noder i DOM-trærstruktur (dokument).

Syntaks

nodeObject.compareDocumentPosition(node)

Parameter

Parameter Beskrivelse
node Obligatorisk. Node-objekt. Angiver den knude, der skal sammenlignes med den aktuelle knude.

Teknisk detalje

DOM version: Core Level 3 Node Object
Returværdi:

Tal, der angiver placeringen af to knuders relative position. Mulige returværdier er:

  • 1 - Der er ingen forbindelse, de to knuder tilhører ikke samme dokument.
  • 2 - Den specifikke knude er placeret før den aktuelle knude.
  • 4 - Den specifikke knude følger den aktuelle knude.
  • 8 - Den specifikke knude indeholder den aktuelle knude.
  • 16 - Den specifikke knude er inkluderet i den aktuelle knude.
  • 32 - Den specifikke knude og den aktuelle knude har ingen fælles containerknude, eller de to knuder er forskellige egenskaber på den samme knude.

Bemærk:Returværdien kan også være en kombination af værdier. For eksempel. Returværdi 20 betyder, at den specifikke knude er inkluderet i den aktuelle knude (16) og følger den aktuelle knude (4).

Eksempel

Følgende kode loader "books.xml" til xmlDoc og sammenligner placeringen af to knuder i DOM-hierarkiet (den første og den tredje <book>-elementer):

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

Prøv det selv

De fleste browsere betragter tomrum eller nye linjer som tekstknuder, men IE 9 og tidligere versioner gør ikke det. Derfor vil de fleste browsere output 4, mens IE 9 og tidligere versioner vil output 2 i det ovennævnte eksempel.

Browser understøttelse

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Understøtter Understøtter Understøtter Understøtter Understøtter

Alle主流 browsere understøtter compareDocumentPosition() metoden.

Bemærk:Internet Explorer 9 og tidligere versioner understøtter ikke denne metode.