XML DOM cloneNode()メソッド
定義と使用法
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