跳到主要内容

contains

2023年08月04日
柏拉文
越努力,越幸运

一、认识


node.contains() 方法返回一个布尔值,表示一个节点是否是给定节点的后代,即该节点本身、其直接子节点(childNodes)、子节点的直接子节点等。 节点包含在自身内部

二、语法


const result = contains(otherNode);
  • otherNode: 要测试的节点

  • result: 返回一个布尔值,如果 otherNode 包含在节点中会返回 true,否则返回 false。如果 otherNode 参数为 null,则 contains() 始终返回 false

三、场景


3.1 检查一个元素是否是 body 元素的后代元素

由于 contains 会包含元素自身,而确定 body 是否包含自身不是设计 isInPage 的意图,这种情况明确返回 false。

function isInPage(node) {
return node === document.body ? false : document.body.contains(node);
}