Node: contains() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

contains()Node インターフェイスのメソッドで、あるノードが指定されたノードの子孫であるか、すなわち、このノード自体であるか、直接の子ノード (childNodes) の何れかであるか、直接の子ノードの子ノードの何れかであるか(以下同様)を示す論理値を返します。

メモ: ノードは自分自身に含まれます

構文

js
contains(otherNode)

引数

otherNode

検査する Node です。

メモ: otherNode は省略できませんが、 null に設定することはできます。

返値

論理値で、 trueotherNode がそのノードに含まれていることを表します。 そうでなければ false になります。

otherNode 引数が null であれば、 contains() は常に false になります。

この関数は、ある要素がそのページの body 要素に含まれるかどうかを検査するものです。 contains は包括的かつ決定的であるため、 body がそれ自身を含むかどうかは isInPage の意図するところではないため、明示的に false を返します。

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

仕様書

Specification
DOM Standard
# ref-for-dom-node-contains①

ブラウザーの互換性

BCD tables only load in the browser

関連情報