Alohci đúng: không có nhiều khác biệt, kể từ web compatibility forced the browsers to implicitly adoptNode()
before inserting a node into another document.
Trước bạn chèn nút nhân bản vào một tài liệu mới, có một sự khác biệt: các tài liệu chủ sở hữu của các nút được trả về bởi các cloneNode(original)
cũng giống như của nút gốc, và các tài liệu mới nếu bạn gọi newDocument.importNode(original)
. Bạn có thể thấy sự khác biệt này nếu bạn sử dụng ownerDocument
hoặc các thuộc tính liên quan (chẳng hạn như baseURI).
Nhưng nếu bạn gọi importNode trên cùng một tài liệu mà nút gốc thuộc về, không có sự khác biệt nào.
Có thể trong các trình duyệt hiện đại, bạn không thể thấy sự khác biệt, (khác với những gì chúng được xác định trên các giao diện khác nhau, rõ ràng). Về mặt lịch sử, trong DOM, importNode là để sao chép một nút từ một tài liệu khác, trong khi cloneNode là một bản sao của một nút trong cùng một tài liệu, nhưng DOM4 không phân biệt, vì sự khác biệt không có tác dụng hữu ích. – Alohci