Копирование элемента по дереву Node
Иногда элементы бывают довольно сложными по составу, и гораздо проще их скопировать, чем с помощью отдельных вызовов создавать из содержимое. Для копирования уже имеющихся узлов у объекта Node
можно использовать метод cloneNode()
, пример:
var articleDiv = document.querySelector("div.article");
// клонируем элемент articleDiv
var newArticleDiv = articleDiv.cloneNode(true);
// добавляем в конец элемента body
document.body.appendChild(newArticleDiv);
В метод cloneNode()
в качестве параметра передается логическое значение: если передается true
, то элемент будет копироваться со всеми дочерними узлами: если передается false
то копируется без дочерних узлов. То есть в данном случае мы копируем узел со всем его содержимым и потом добавляем в конец элемента body
.