Node: isEqualNode() メソッド

isEqualNode()Node インターフェイスのメソッドで、 2 つのノードが等しいかどうかを検査します。 2 つのノードは、同じ型、定義特性(要素の場合、 ID や子ノードの数など)、その属性が一致している場合、等しいといえます。データで一致が求められる具体的な点は、ノードの型によって異なります。

構文

js
isEqualNode(otherNode)

引数

otherNode

比較対象となる Node です。

メモ: この引数は省略可能ではありませんが、 null に設定することはできます。

返値

論理値で、 2 つのノードが等しければ true、そうでなければ false です。 otherNodenull であった場合、 isEqualNode() は常に false を返します。

この例では、 3 つの <div> ブロックを作成しています。 1 つ目と 3 つ目は内容と属性が同じであり、 2 つ目は異なっています。このとき、isEqualNode() を使って JavaScript でノードを比較した結果は以下のようになります。

HTML

html
<div>最初の要素です。</div>
<div>2 番目の要素です。</div>
<div>最初の要素です。</div>

<p id="output"></p>

JavaScript

js
let output = document.getElementById("output");
let divList = document.getElementsByTagName("div");

output.innerHTML += `div 0 と div 0 は同じか: ${divList[0].isEqualNode(
  divList[0],
)}<br/>`;
output.innerHTML += `div 0 と div 1 は同じか: ${divList[0].isEqualNode(
  divList[1],
)}<br/>`;
output.innerHTML += `div 0 と div 2 は同じか: ${divList[0].isEqualNode(
  divList[2],
)}<br/>`;

結果

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報