Node.compareDocumentPosition

概述

比较当前节点与任意文档中的另一个节点的位置关系.

语法

node.compareDocumentPosition( otherNode ) 
  • node是要和otherNode比较位置的节点.
  • otherNode是被和node比较位置的节点.

返回值是otherNode节点和node节点的位置关系.

附注

如果otherNode节点和node节点是同一个节点,返回 0.

否则,返回值是一个具有以下值的位掩码:

常量名 十进制值 含义
DOCUMENT_POSITION_DISCONNECTED 1 不在同一文档中
DOCUMENT_POSITION_PRECEDING 2 otherNode在node之前
DOCUMENT_POSITION_FOLLOWING 4 otherNode在node之后
DOCUMENT_POSITION_CONTAINS 8 otherNode包含node
DOCUMENT_POSITION_CONTAINED_BY 16 otherNode被node包含
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC 32 待定

例子

var head = document.getElementsByTagName('head').item(0);
if (head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING) {
  console.log("well-formed document");
} else {
  console.log("<head> is not before <body>");
}

注: 因为compareDocumentPosition返回的是一个位掩码,所以必须再使用按位与运算符才能得到有意义的值.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 9.0+ (Yes) (Yes)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) ? (Yes) (Yes)

规范

规范 状态s 注释
DOM Level 3 Recommendation  
DOM Standard Living standard  

相关链接

文档标签和贡献者

 此页面的贡献者: teoli, cuixiping, jsx, ziyunfei
 最后编辑者: cuixiping,