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