JavaScript
`cloneNode` is a method that can duplicate a specified DOM element, including its child elements.
cloneNode [method]
cloneNode は、JavaScriptで使われるメソッドで、DOMツリー内の要素を複製するために使用されます。このメソッドは、特定の要素をコピーして、新しい要素として返します。
cloneNodeの主なポイント
- 浅いコピー (shallow copy) と深いコピー (deep copy) の選択
-
- cloneNode() メソッドは、引数として true を指定すると、元の要素の全ての子要素(およびその子要素も含めて)をコピーする深いコピーを行います。
- 引数として false を指定するか、何も指定しない場合は、元の要素のみをコピーし、その子要素はコピーしない浅いコピーが行われます。
- イベントリスナーはコピーされない
-
- cloneNode を使って要素をコピーすると、要素に設定されているイベントリスナーはコピーされません。コピーされた要素にイベントリスナーを追加したい場合は、別途手動で設定する必要があります。
Sample
// 元の要素を取得
let originalElement = document.getElementById('example');
// 浅いコピー
let shallowCopy = originalElement.cloneNode(false);
// 深いコピー
let deepCopy = originalElement.cloneNode(true);
// コピーされた要素をDOMに追加
document.body.appendChild(deepCopy);
この例では、originalElement の浅いコピーと深いコピーをそれぞれ作成し、deepCopy を DOMツリーに追加しています。
cloneNode は、特定の DOM要素の複製を簡単に作成したい場合に非常に便利なメソッドです。