有关compareDocumentPosition()方法

本文解析了Node.compareDocumentPosition方法的使用,介绍了如何通过此方法确定DOM树中两个节点之间的位置关系,包括节点的一致性、前后关系、包含关系等,并提供了实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法:
compareValue=node.compareDocumentPosition(otherNode)
解释:返回的位置关系是otherNode相当于Node的
返回值,是整数值,取值包含:

  1. 0 节点一致
  2. 1 节点在不同文档 DOCUMENT_POSITION_DISCONNECTED
  3. 2 otherNode在节点node之前 DOCUMENT_POSITION_PRECEDING
  4. 4 otherNode在节点node之后 DOCUMENT_POSITION_FOLLOWING
  5. 8 otherNode包含节点node DOCUMENT_POSITION_CONTAINS
  6. 16 otherNode被节点node包含 DOCUMENT_POSITION_CONTAINED_BY
  7. 32 特殊节点的位置,依赖于dom实现
  8. 组合值:
  9. 如 2+8 otherNode在前面且包含node
  10. 实例:由于compareValue的值会出现累加现象,因此借助运算符按位与来判断位置关系,结果不是0即可。
  11. if(document.body.comparedocumentPosition(document.documentElement)&Node.DOCUMENT_POSITION_PRECEDING ){
  12. //document.documentElement在document.body前面
  13. }
  14. 实际开发中应与常量对比,可增强理解以及可读性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值