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)
参数
参数 | 描述 |
节点 | 必需。 要与当前节点进行比较的节点。 |
返回值
类型 | 描述 |
Number | 两个节点的位置关系。 |
值 | 含义 |
---|---|
1 | 节点不属于同一文档 |
2 | 第一个节点位于第二个节点之后 |
4 | 第一个节点位于第二个节点之前 |
8 | 第一个节点位于第二个节点之内 |
16 | 第二个节点位于第一个节点之内 |
32 | 节点是同一元素的属性 |
浏览器支持
element.compareDocumentPosition()
是 DOM Level 1 (1998) 功能。
所有浏览器都完全支持。
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 9-11 |