Node.isEqualNode()

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

構文

isEqualNode(otherNode);

引数

otherNode

比較対象となる Node です。

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

返値

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

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

HTML

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

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

JavaScript

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

関連情報