Node: cloneNode() メソッド
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
cloneNode() は Node インターフェイスのメソッドで、このメソッドが呼び出されたノードの複製を返します。
引数でノードに含まれるサブツリーを一緒に複製するかどうかを制御できます。
ノードを複製すると、固有(インライン)のリスナーを含む、ノードのすべての属性とその値が複製されます。 addEventListener() を使って追加されたイベントリスナーや、要素のプロパティに代入されたイベントリスナー(例: node.onclick = someFunction)は複製されません。さらに、 <canvas> 要素では、描画された画像は複製されません。
警告:
cloneNode() を使用すると、文書内で要素の ID が重複する可能性があります。
元のノードに id 属性があり、複製を同じ文書に配置する場合は、複製の ID が重複しないように変更してください。
また、 name 属性も重複した名前を使わない場面では、変更する必要があるかもしれません。
異なる文書にノードを複製する場合は、代わりに Document.importNode() を使用してください。
構文
cloneNode()
cloneNode(deep)
引数
返値
複製された Node を返します。
複製されたノードには、文書に所属する他のノードに Node.appendChild() などを使用して追加されるまで、親ノードがなく、文書にも所属していません。
例
let p = document.getElementById("para1");
let p_prime = p.cloneNode(true);
仕様書
| Specification |
|---|
| DOM> # ref-for-dom-node-clonenode①> |
ブラウザーの互換性
Loading…