文件: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① |
瀏覽器相容性
載入中…