Document: phương thức adoptNode()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Document.adoptNode() chuyển một node từ một document khác vào document của phương thức.
Node được adopted và cây con của nó sẽ bị xóa khỏi tài liệu gốc (nếu có), và ownerDocument của chúng được thay đổi thành tài liệu hiện tại.
Node sau đó có thể được chèn vào tài liệu hiện tại.
Cú pháp
adoptNode(externalNode)
Tham số
externalNode-
Node từ tài liệu khác cần được adopted.
Giá trị trả về
importedNode đã sao chép trong phạm vi của tài liệu nhập.
Sau khi gọi phương thức này, importedNode và
externalNode là cùng một đối tượng.
Note:
Node.parentNode của importedNode là null, vì nó chưa được
chèn vào cây tài liệu!
Ví dụ
const iframe = document.querySelector("iframe");
const iframeImages = iframe.contentDocument.querySelectorAll("img");
const newParent = document.getElementById("images");
iframeImages.forEach((imgEl) => {
newParent.appendChild(document.adoptNode(imgEl));
});
Ghi chú
Trước khi có thể chèn vào tài liệu hiện tại, các node từ tài liệu bên ngoài nên được:
- sao chép bằng
document.importNode(); hoặc - adopted bằng
document.adoptNode().
Để biết thêm về các vấn đề Node.ownerDocument, xem W3C DOM FAQ.
Đặc tả kỹ thuật
| Specification |
|---|
| DOM> # ref-for-dom-document-adoptnode①> |