Metoda compareDocumentPosition() w XML DOM
Definicja i użycie
compareDocumentPosition()
Porównuje pozycje dwóch węzłów w hierarchii DOM (dokument).
Syntaktyka
nodeObject.compareDocumentPosition(node)
Parametry
Parametry | Opis |
---|---|
node | Wymagane. Obiekt Node. Określa węzeł, z którym porównywany jest bieżący węzeł. |
Szczegóły techniczne
Wersja DOM: | Core Level 3 Node Object |
---|---|
Wartość zwrócona: |
Liczby, które reprezentują pozycję węzłów względem siebie. Możliwe wartości zwrócone to:
Uwaga:Wartość zwrócona może być również kombinacją wartości. Na przykład, wartość zwrócona 20 oznacza, że określony węzeł jest zawarty w bieżącym węźle (16) i znajduje się za bieżącym węzłem (4). |
Przykład
Poniższy kod załaduje "books.xml" do xmlDoc i porówna pozycje dwóch węzłów (pierwszego i trzeciego elementu <book>) w hierarchii 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); }
Większość przeglądarek traktuje białe przestrzenie lub nowe wiersze jako węzły tekstowe, podczas gdy w przeglądarce Internet Explorer 9 i wcześniejszych wersji nie jest to prawda. Dlatego w powyższym przykładzie, większość przeglądarek wyświetli 4, podczas gdy Internet Explorer 9 i wcześniejsze wersje wyświetlą 2.
Obsługa przeglądarek
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Obsługa | Obsługa | Obsługa | Obsługa | Obsługa |
Wszystkie główne przeglądarki obsługują metodę compareDocumentPosition().
Komentarz:Przed wersją Internet Explorer 9 metoda ta nie jest obsługiwana.