JavaScriptのノードのコピーcloneNode()の使い方
cloneNode()はJavaScriptでノードをコピーするためのメソッドです。元のノードに影響を与えずにノードのコピーを作成するために使用できます。
cloneNode()メソッドには、オプションのブール値パラメータdeepがあり、デフォルト値はfalseです。 deepがfalseの場合、現在のノードのみがコピーされ、子ノードはコピーされません。 deepがtrueの場合、子ノードと一緒にコピーされます。
cloneNode()メソッドは新しいノードオブジェクトを返し、appendChild()やinsertBefore()などのメソッドを使って他の場所に挿入することができます。
以下は、cloneNode()メソッドの使用例です。
var originalNode = document.getElementById("original");
var clonedNode = originalNode.cloneNode(true); // 拷贝节点及其子节点
document.body.appendChild(clonedNode); // 将拷贝的节点插入到body中
上記の例では、最初にgetElementById()メソッドを使用して、idが”original”のノードを取得します。次に、cloneNode()メソッドを使用してそのノードをコピーし、コピーしたノードをドキュメントのbodyに挿入します。
cloneNode()メソッドは、ノードの属性と値だけをコピーするため、イベントハンドラなどはコピーされません。イベントハンドラをコピーする場合は、addEventListener()メソッドを使用してコピーしたノードにイベントハンドラを付加する必要があります。
cloneNode()メソッドは、DOMノードの複製にしか使用できず、JavaScriptオブジェクトや他の非DOMオブジェクトの複製には使用できません。