Document: adoptNode() メソッド
Document.adoptNode()
は、ノードを他の文書からメソッドの文書へ移譲します。
取り込まれたノードおよびそのサブツリーは(もしあれば)元の文書から削除され、 ownerDocument
が現在の文書に変更されます。
その後、ノードを現在の文書に挿入することができます。
構文
js
adoptNode(externalNode)
引数
externalNode
-
他の文書から移譲されるノードです。
返値
インポートする文書のスコープ内にコピーされた importedNode
です。
このメソッドを呼び出した後、 importedNode
および externalNode
は同じオブジェクトになります。
メモ: importedNode
の Node.parentNode
は、まだ文書ツリーに挿入されていないので null
です。
例
js
const iframe = document.querySelector("iframe");
const iframeImages = iframe.contentDocument.querySelectorAll("img");
const newParent = document.getElementById("images");
iframeImages.forEach((imgEl) => {
newParent.appendChild(document.adoptNode(imgEl));
});
メモ
外部の文書のノードを現在の文書に挿入できるようにするには、次のいずれかを実行してください。
document.importNode()
を使用して複製するdocument.adoptNode()
を使用して移譲する
Node.ownerDocument
の問題についての詳細は、W3C DOM FAQ を参照してください。
仕様書
Specification |
---|
DOM Standard # ref-for-dom-document-adoptnode① |
ブラウザーの互換性
BCD tables only load in the browser