语法:
compareValue=node.compareDocumentPosition(otherNode)
解释:返回的位置关系是otherNode相当于Node的
返回值,是整数值,取值包含:
- 0 节点一致
- 1 节点在不同文档 DOCUMENT_POSITION_DISCONNECTED
- 2 otherNode在节点node之前 DOCUMENT_POSITION_PRECEDING
- 4 otherNode在节点node之后 DOCUMENT_POSITION_FOLLOWING
- 8 otherNode包含节点node DOCUMENT_POSITION_CONTAINS
- 16 otherNode被节点node包含 DOCUMENT_POSITION_CONTAINED_BY
- 32 特殊节点的位置,依赖于dom实现
- 组合值:
- 如 2+8 otherNode在前面且包含node
- 实例:由于compareValue的值会出现累加现象,因此借助运算符按位与来判断位置关系,结果不是0即可。
- if(document.body.comparedocumentPosition(document.documentElement)&Node.DOCUMENT_POSITION_PRECEDING ){
- //document.documentElement在document.body前面
- }
- 实际开发中应与常量对比,可增强理解以及可读性。
本文解析了Node.compareDocumentPosition方法的使用,介绍了如何通过此方法确定DOM树中两个节点之间的位置关系,包括节点的一致性、前后关系、包含关系等,并提供了实例代码。
方法&spm=1001.2101.3001.5002&articleId=88095872&d=1&t=3&u=1423e888e4164ca3b30712528830f498)

被折叠的 条评论
为什么被折叠?



