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);
}