XML DOM cloneNode()メソッド

Node オブジェクトリファレンスマニュアル

定義と使用法

cloneNode()メソッドは、指定されたノードの正確なコピーを作成できます。

このメソッドは、コピーされたノードを返します。

文法:

nodeObject.cloneNode(include_all)
パラメータ 説明
include_all 必須です。論理パラメータが真に設定されている場合、クローンされたノードは元のノードのすべての子ノードをクローンします。

返り値

現在のノードのコピー

説明

このメソッドは、その呼び出し元のノードのコピーをコピーして返します。trueを渡した場合、現在のノードのすべての孫ノードもリカーシブにコピーされます。そうでない場合は、現在のノードのみをコピーします。

返されるノードはドキュメントツリーに属していないため、parentNode属性はnullです。

Elementノードをコピーする場合、そのすべての属性がコピーされます。ただし、現在のノードに登録されているイベントリスナー関数はコピーされません。

すべての例では、XML ファイルを使用します books.xml、および JavaScript ファンクション loadXMLDoc()

以下のコードスニペットは、最初の <book> ノードをクローンし、それをノードリストの末尾に追加します:

xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName('book')[0];
var cloneNode=x.cloneNode(true);
xmlDoc.documentElement.appendChild(cloneNode);
//すべてのタイトルを出力
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
  {
  document.write(y[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

出力:

Everyday Italian
ハリー・ポッター
XQuery Kick Start
Learning XML
Everyday Italian

Node オブジェクトリファレンスマニュアル