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 常见问题解答。
规范
规范 |
---|
DOM 标准 # ref-for-dom-document-adoptnode① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。