HTML DOM 元素 compareDocumentPosition()
示例
"p1" 相对于 "p2" 在哪里
const p1 = document.getElementById("p1");
const p2 = document.getElementById("p2");
let position = p1.compareDocumentPosition(p2);
自己试试 »
描述
compareDocumentPosition()
方法比较两个节点,并返回一个整数,描述它们在文档中的位置
值 | 含义 |
---|---|
1 | 节点不属于同一个文档 |
2 | 第一个节点位于第二个节点之后 |
4 | 第一个节点位于第二个节点之前 |
8 | 第一个节点位于第二个节点内部 |
16 | 第二个节点位于第一个节点内部 |
32 | 节点是同一个元素上的属性 |
注意
返回值也可以是值的组合。
值为 20 表示第二个节点在第一个节点内部 (16),并且第一个节点位于第二个节点之前。
语法
node.compareDocumentPosition(node)
参数
参数 | 描述 |
节点 | 必需。 要与当前节点比较的节点。 |
返回值
类型 | 描述 |
数字 | 两个节点彼此之间的位置。 |
值 | 含义 |
---|---|
1 | 节点不属于同一个文档 |
2 | 第一个节点位于第二个节点之后 |
4 | 第一个节点位于第二个节点之前 |
8 | 第一个节点位于第二个节点内部 |
16 | 第二个节点位于第一个节点内部 |
32 | 节点是同一个元素上的属性 |
浏览器支持
element.compareDocumentPosition()
是 DOM Level 1 (1998) 的一个特性。
它在所有浏览器中都得到完全支持
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 9-11 |