Метод compareDocumentPosition() XML DOM

Определение и использование

compareDocumentPosition() Метод сравнивает позицию текущего узла в документе по порядку с указанным узлом.

Синтаксис

elementNode.compareDocumentPostition(node)
Параметры Описание
node Обязателен. Определяет узел, с которым нужно сравнивать текущий узел.

Пример

Ниже приведен код, который загружает "books.xml" в xmlDoc и сравнивает положение двух узлов (первого и третьего элементов <book>) в иерархии 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);
}

Попробуйте сами

Большинство браузеров считают пробелы или новые строки текстовыми узлами, IE 9 и более ранние версии нет. Поэтому, в примере выше, большинство браузеров выведут 4, а IE 9 и более ранние версии выведут 2.

Для получения更多信息 о различиях между браузерами посетите раздел о браузерах в учебнике XML DOM.