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

js
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, importedNodeexternalNode là cùng một đối tượng.

Note: Node.parentNode của importedNodenull, vì nó chưa được chèn vào cây tài liệu!

Ví dụ

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

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:

Để 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①

Tương thích trình duyệt

Xem thêm