DOM

Document.adoptNode メソッド

 編集:2022.09.02 by T.A.

ノードを他の文書からメソッドの文書へ移動します。

取り込まれたノードおよびそのサブ ツリーは(もしあれば)元の文書から削除され、ownerDocument が現在の文書に変更されます。その後、ノードを現在の文書に挿入することができます。

構文
importedNode = Document.adoptNode(externalNode);
Document
externalNode 他の文書から取り込まれるノードです。
返値

インポートする文書のスコープ内にコピーされた importedNode

このメソッドを呼び出した後、importedNode および externalNode は同じオブジェクトになります。

注: importedNodeNode.parentNode は、まだ文書ツリーに挿入されていないので null です。

注意

外部の文書から取り込まれるノードは、現在の文書に挿入する前に、次のいずれかを実行してください。

ベストプラクティス: Firefox は現在はこの規則を強制しませんが、将来の互換性を向上するためにこの規則に従うことを強くお勧めします。

const iframe = document.querySelector('iframe');
const iframeImages = iframe.contentDocument.querySelectorAll('img');
const newParent = document.getElementById('images');

iframeImages.forEach(function(imgEl) {
  newParent.appendChild(document.adoptNode(imgEl));
});

テスト