Вы можете использовать cloneNode(deep)
метод DOM
api, чтобы получить копию узла для дальнейшего использования.
При клонировании узла копируются все его атрибуты и их значения, включая прослушиватели intrinsi c (inline). Он не копирует прослушиватели событий, добавленные с использованием addEventListener () или тех, кто назначен свойствам элемента (например, node.onclick = someFunction). Кроме того, для элемента нарисованное изображение не копируется.
Совет: Используйте метод appendChild () или insertBefore () для вставки клонированного узла в документ.
Подсказка: установите значение глубокого параметра в значение true, если вы хотите клонировать всех потомков (потомков), в противном случае - false.
Параметр
deep
Boolean Необязательно. Указывает, следует ли клонировать всех потомков узла.
true
- клонировать узел, его атрибуты и его потомков.
false
- по умолчанию. Клонировать только узел и его атрибуты
Предупреждение
cloneNode () может привести к дублированию идентификаторов элементов в документе!
$(document).ready(function(){
let root = document.getElementById('root');
let cln = root.cloneNode(true);
$(root).empty();
console.log(cln .childNodes);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="root">
<span>Test</span>
</div>