外部ドキュメントからノードを取り込みます。ノードとそのサブツリーは、(もしあれば) 元あったドキュメントから削除され、ownerDocument
が現在のドキュメントに変更されます。そして、そのノードが現在のドキュメントに挿入できるようになります。
Gecko 1.9 (Firefox 3) からサポート
構文
node = document.adoptNode(externalNode);
node
- これは、取り込まれて現在のドキュメントで使用できるようになったノードです。 この新しいノードはまだドキュメントツリーに挿入されていないので、
parentNode
はnull
です。 externalNode
- これは、取り込む対象となる他のドキュメントのノードです。
例
FIXME:
注記
一般に、異なる実装からのノードを取り込もうとすると adoptNode
の呼び出しに失敗する可能性がありますが、ブラウザの実装においてこれが問題となることはないでしょう。
外部ドキュメントからのノードは、現在のドキュメントに挿入する前に document.importNode()
を使ってクローンを作る (あるいは
document.adoptNode()
を使って取り込む) べきです。Node.ownerDocument
問題の詳細については
W3C DOM FAQ を参照してください。
Firefox では現在このルールを強制していません。Firefox 3 の開発中には強制していた時期もありましたが、このルールを強制すると多くのサイトが機能しなくなってしまうため取りやめになりました。 将来的な互換性を高めるため、Web 開発者にはこのルールに従ってコードを修正することを推奨します。