Document: adoptNode() 方法

Document.adoptNode() 将来自另一个节点文档转移到方法的文档中。已采用的节点及其子树将从其原始文档(如果有)中移除,并且其ownerDocument 将更改为当前文档。然后可以将节点插入当前文档。

语法

js
adoptNode(externalNode)

参数

externalNode

要采用的来自另一个文档的节点。

返回值

导入文档范围内的已复制 importedNode

调用此方法后,importedNodeexternalNode 是同一个对象。

注意:importedNodeNode.parentNodenull,因为它尚未插入文档树!

示例

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));
});

注释

在可以将其插入当前文档之前,来自外部文档的节点应该:

有关 Node.ownerDocument 问题的更多信息,请参阅 W3C DOM 常见问题解答

规范

规范
DOM 标准
# ref-for-dom-document-adoptnode①

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅