Hàm document.adoptNode() trong Javascript

Phương thức adoptNode() sẽ lấy một thẻ từ một trang khác. Bất cứ loại thẻ nào cũng có thể được lấy bởi phương thức adoptNode(). Tất cả các thẻ con, cháu nằm trong thẻ nếu có đều được lấy về.

Thẻ được lấy và tất cả các thẻ con của nó sẽ bị loại bỏ ở trang cũ. nếu bạn chỉ muốn sao chép thẻ chứ không muốn nó bị loại bỏ ở trang cũ, sử dụng phương thức document.importNode().

Nếu bạn muốn sao chép một phần tử trong chính trang đó, sử dụng phương thức element.cloneNode().

Cú pháp

Cú phápdocument.adoptNode(tag)

Trong đó:

  • tag là tên thẻ muốn lấy, có thể là bất cứ thẻ nào.

Cách sử dụng

Sử dụng phương thức để lấy thẻ H1 đầu tiên trong trang được nhúng vào bởi thẻ iframe( trang khác):

Code RUN
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <style type="text/css">
        </style>
    </head>
    <body>
        <h1>Học lập trình miễn phí tại freetuts.net</h1>
        <iframe src="https://freetuts.net/hoc-javascript/document_addeventlistener_function.html"></iframe>
        <button onclick="myFunction()">Lấy về thẻ H1</button>
        <script>
            function myFunction(){
                var frame = document.getElementsByTagName("IFRAME")[0];
                var h = frame.contentWindow.document.getElementsByTagName("H1")[0];
                var x = document.adoptNode(h);
                document.body.appendChild(x);
            }
        </script>
    </body>
</html>

Thẻ H1 đã được lấy về đồng thời nó cũng đã bị xóa khỏi trang trong thẻ iframe.

Tham khảo: w3schools.com

Nguồn: freetuts.net