JavaScript

JavaScript importNode method.

importNode

 外部ドキュメントから、現在のドキュメント内へ挿入可能なノードのコピーを作成します。

Syntax(構文)


var node = document.importNode(externalNode, deep);

引数
説明
extarnalNode
インポートされる別のドキュメンとからのノードを指定します。
deep
インポートされるノードの子孫もインポートされる必要があるか否かを真偽値で指定します。
戻り値(node)
ドキュメントにインポートされた新しいノードです。インポートされた(取り込んだ)だけで、まだドキュメントツリーへ挿入されていないため、この新しいノードの parentNode は null です。

Sample


var iframe = document.getElementsByTagName("iframe")[0];
var oldNode = iframe.contentDocument.getElementById("myNode");
var newNode = document.importNode(oldNode, true);
document.getElementById("container").appendChild(newNode);

注意事項

 元のノードは元のドキュメントから削除されません。 インポートされるノードは、その元のノードの複製です。

 外部ドキュメントからのノードは、現在のドキュメントへ挿入されることになる前に document.importNode()を使用して複製される(または、document.adoptNode()を使用して取り込む)べきです。

 Firefoxでは現在このルールを強制していません。(Firefox 3の開発中はこれを行っていましたが、このルールを強制するとあまりにも多くのサイトが壊れてしまった)Webデベロッパーに対しては、この改善された機能の互換性のルールに従うコードに修正することが推奨されています。