Как работает клонирование элемента в JavaScript

Клонирование элемента в JavaScript

15.04.2021
456
2 мин.
0

JavaScript позволяет создавать два типа копий элементов с помощью метода cloneNode(). Первый обеспечивает клонирование самого элемента, а второй — создание полной структуры с учётом всех дочерних элементов. Клонирование элемента в JavaScript (js) доступно в двух вариантах — простое и глубокое.

Простое клонирование элемента

За создание копии узла отвечает метод Node.cloneNode(). Достаточно выбрать нужный элемент и применить к нему этот метод.

В качестве примера возьмём элемент с классом element, у которого имеются некоторые свойства и вложенные (дочерние) элементы.

<div id="el" class="element" data-value>
  <h1>Hello, world!</h1>
  <p>How are you today?</p>
</div>
// Получаем нужный элемент 
const el = document.querySelector('.element'); 

// Создаем его простую копию const simpleCopy = el.cloneNode(); 

// Выводим в консоль результат 
console.log(simpleCopy);

Читайте также: Атрибуты и свойства элементов в JavaScript.

Как работает клонирование элемента в JavaScript
В JavaScript доступно создание двух типов копий при клонировании элементов (изображение создано с помощью ИИ)

Глубокое клонирование элемента

По умолчанию метод cloneNode() создаёт неглубокую копию. То есть, копирует сам элемент без дочерних узлов. Клонирование элемента в JavaScript с целью создания глубокой копии требует передать в метод true в качестве аргумента.

// Создаем глубокую копию
const deepCopy = el.cloneNode(true);

// Выводим в консоль результат
console.log(deepCopy);

Кроссбраузерность

Метод cloneNode() отлично поддерживается всеми современными браузерами.