JavaScript比较两个节点的文档位置|Node compareDocumentPosition() 方法

元素对象参考手册


定义与用法

compareDocumentPosition() 方法按照文档顺序,比较当前节点与指定节点的文档位置。

查看以上实例,返回值可能是:

1:没有关系,这两个节点不属于同一个文档。

2: 第一节点(P1)位于第二个节点后(P2)。

4:第一节点(P1)定位在第二节点(P2)前。

8: 第一节点(P1)位于第二节点内(P2)。

16: 第二节点(P2)位于第一节点内(P1)。

32:没有关系的,或是两个节点在同一元素的两个属性。

提示: 回值可以是值的组合。例如,返回 20 意味着在 p2 在 p1 内部(16),并且 p1 在 p2 之前(4)。


语法格式

node.compareDocumentPosition( node)


示例代码

比较当前字段与指定字段的文档位置:

var p1=document.getElementById("p1"); 
var p2=document.getElementById("p2");
p1.compareDocumentPosition(p2);

亲自试试


浏览器支持

方法Google ChromeInternet ExplorerFirefoxSafariOpera
compareDocumentPosition()YesYesYesYesYes

所有主要浏览器都支持 compareDocumentPosition() 方法

提示: Internet Explorer 8 及更早IE版本不支持该方法。


参数说明

参数类型描述
nodeNode object必须。你想比较的指定节点。

返回值

类型描述
Number比较当前节点与指定节点的文档位置可能的返回值:查看以上实例,返回值可能是:1:没有关系,这两个节点不属于同一个文档。2: 第一节点(P1)位于第二个节点后(P2)。4:第一节点(P1)定位在第二节点(P2)前。8: 第一节点(P1)位于第二节点内(P2)。16: 第二节点(P2)位于第一节点内(P1)。32:没有关系的,或是两个节点在同一元素的两个属性。

技术细节

DOM 版本Core Level 1 Node Object

元素对象参考手册


相关