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