Метод compareDocumentPosition()
Пример element.compareDocumentPosition()
Где находится "p1" по сравнению с "p2":
const p1 = document.getElementById("p1");
const p2 = document.getElementById("p2");
let position = p1.compareDocumentPosition(p2);
Попробуйте сами »
Описание compareDocumentPosition()
Метод compareDocumentPosition() сравнивает два узла и возвращает целое число, описывающее их расположение в документе:
| Значение | Смысл |
|---|---|
| 1 | Узлы не принадлежат одному документу |
| 2 | Первый узел расположен после второго |
| 4 | Первый узел расположен перед вторым |
| 8 | Первый узел расположен внутри второго |
| 16 | Второй узел расположен внутри first |
| 32 | Узлы являются атрибутами одного и того же элемента |
Примечание compareDocumentPosition()
Возвращаемое значение также может быть комбинацией значений.
Значение 20 означает, что второй узел находится внутри первого (16), а первый узел расположен перед вторым.
Синтаксис compareDocumentPosition()
node.compareDocumentPosition(node)
Параметры compareDocumentPosition()
| Параметр | Описание |
|---|---|
| Node | Обязательно. Узел для сравнения с текущим узлом. |
Возвращаемое значение compareDocumentPosition()
| Тип | Описание |
|---|---|
| Number | Где два узла расположены по отношению друг к другу. |
| Значение | Смысл |
|---|---|
| 1 | Узлы не принадлежат одному документу |
| 2 | Первый узел расположен после второго |
| 4 | Первый узел расположен перед вторым |
| 8 | Первый узел расположен внутри второго |
| 16 | Второй узел расположен внутри первого |
| 32 | Узлы являются атрибутами одного и того же элемента |
Поддержка браузера compareDocumentPosition()
element.compareDocumentPosition() является функцией DOM уровня 1 (1998).
Он полностью поддерживается во всех браузерах:
| Chrome | Edge | Firefox | Safari | Opera | IE |
| Да | Да | Да | Да | Да | 9-11 |