Node: contains() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

Node 介面的 contains() 方法返回一個布林值,指示一個節點是否為給定節點的後代節點,也就是說,該節點本身、其某個直接子節點(childNodes)、子節點的某個直接子節點,以此類推。

注意: 一個節點包含它自身。

語法

js
contains(otherNode)

引數

otherNode

要測試的 Node

注意: otherNode 不是可選的,但可以設定為 null

返回值

如果 otherNode 包含在節點中,則返回 true;否則返回 false

如果 otherNode 引數為 null,則 contains() 始終返回 false

示例

此函式用於檢查一個元素是否在頁面的 body 中。由於 contains 是包含性的,而確定 body 是否包含自身並不是 isInPage 的意圖,因此在這種情況下顯式返回 false

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

規範

規範
DOM
# ref-for-dom-node-contains①

瀏覽器相容性

另見