Document: adoptNode() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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