Hàm document.importNode() trong Javascript

Phương thức importNode() sẽ lấy một node từ một trang khác và nhập trang hiện tại.

Phương thức importNode() có thể nhập bất cứ loại thẻ nào.

Nếu tham số thứ 2 của phương thức được thiết lập là true thì tất cả các thẻ con trong node được lấy cũng sẽ được lấy theo.

Phương thức importNode() và adoptNode() có sự khác biệt là phương thức adoptNode() sẽ xóa node trong tài liệu cũ trong khi phương thức importNode() không xóa node.

Sử dụng phương thức element.cloneNode() để sao chép một node ở trang hiện tại.

Cú pháp

Cú pháp: document.importNode(node, deep)

Trong đó:

  • node là một node từ một tài liệu khác, có thể là bất cứ loại thẻ nào.
  • deep bắt buộc, nếu mang giá trị true thì các thẻ con trong node cũng sẽ được nhập, nếu mang giá trị false thì các thẻ con sẽ không được nhập.

Cách sử dụng

Lấy thẻ H1 đầu tiền trong tài liệu nằm trong thẻ frame và nhập vào trang hiện tại:

Code RUN
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </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>
        <div id="result"></div>
        <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.importNode(h, true);
                var div = document.getElementById("result");
                document.body.appendChild(x);
            }
        </script>
    </body>
</html>

Tham khảo: w3schools.com

Nguồn: freetuts.net