文档: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。
规范
| 规范 |
|---|
| DOM # ref-for-dom-document-adoptnode① |
浏览器兼容性
加载中…