Как вывести элементы htmlcollection в цикле на странице?

В приведенном ниже коде, элементы из статичного списка просто переносятся в ul с id parent, а мне нужно скопировать их в новый элемент
<ul class="menu">
	<li class="menu__item">Item 1</li>
	<li class="menu__item">Item 2</li>
	<li class="menu__item">Item 3</li>
</ul>
<ul id="parent"></ul>

var parent = document.getElementById('parent');
var items = document.getElementsByClassName('menu__item');
var arr = Array.from(items);

for (let i = 0; i < items.length; i++) {
	parent.appendChild(arr[i]);
}

Пробовал таким образом (причем не важно использовал ли я items[i] или arr[i] ), в обоих случаях на выходе получал три object HTMLLIElement.
for (let i = 0; i < items.length; i++){
	parent.innerHTML += items[i];
}

Объясните, пжлста, где я косячу и как выводить элементы коллекции на страницу? Заранее огромное спасибо =)
  • Вопрос задан
  • 776 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Про cloneNode слышали? - parent.appendChild(arr[i].cloneNode(true));

Или можно просто скопировать разметку, и цикла никакого не надо:

parent.innerHTML = document.querySelector('.menu').innerHTML;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы