Метод compareDocumentPosition()
Пример
Узнайте, где расположен один абзац по сравнению с другим абзацем:
var p1 = document.getElementById("p1");
var p2 = document.getElementById("p2");
var x = p1.compareDocumentPosition(p2);
Попробуйте сами »
Определение и использование
Метод compareDocumentPosition() сравнивает два узла и возвращает целое число, описывающее, где они расположены в документе.
Посмотрите на приведенный выше пример. Возможные возвращаемые значения будут указывать:
1: Нет связи, два узла не принадлежат одному и тому же документу.
2: Первый узел (p1) расположен после второго узла (p2).
4: Первый узел (p1) расположен перед вторым узлом (p2).
8: Первый узел (p1) расположен внутри второго узла (p2).
16: Второй узел (p2) расположен внутри первого узла (p1).
32: Нет связи, или два узла являются двумя атрибутами одного и того же элемента.
Примечание: Возвращаемое значение также может быть комбинацией значений. Т.е. возвращаемое значение 20 означает, что p2 находится внутри p1 (16), А p1 расположен перед p2 (4).
Поддержка браузера
Цифры в таблице указывают первую версию браузера, которая полностью поддерживает этот метод.
Метод | |||||
---|---|---|---|---|---|
compareDocumentPosition() | Да | 9.0 | Да | Да | Да |
Синтаксис
node.compareDocumentPosition(node)
Параметр значений
Параметр | Тип | Описание |
---|---|---|
node | Объект node | Требуемый. Указывает узел для сравнения с текущим узлом |
Технические детали
Возвращает значение | Число, представляющее, где расположены два узла по сравнению друг с другом.
Возможные возвращаемые значения: 1 (Нет связи, два узла не принадлежат одному и тому же документу) 2 (Первый узел (p1) расположен после второго узла (p2)) 4 (Первый узел (p1) расположен перед вторым узлом (p2)) 8 (Первый узел (p1) расположен внутри второго узла (p2)) 16 (Второй узел (p2) расположен внутри первого узла (p1)) 32 (Нет связи, или два узла являются двумя атрибутами одного и того же элемента) |
---|---|
DOM Версия | Базового уровня 1 Объект узла |