Здравствуйте
Никак не могу найти способ, чтобы взять полностью текст у найденного HTML элемента и вставить его потом в другой HTML элемент (пункт списка). Получается, что строка разбивается на буквы, и из каждой создается пункт списка.
Задача: создать якорное меню из имеющихся заголовков.
Код:
<h2>1 заголовок</h2>
<h2>2 заголовок</h2>
<h3>3 заголовок</h3>
<h3>4 заголовок</h3>
<button onclick = "myFunc()">Нажми меня</button>
<ul>
<li></li>
</ul>
function myFunc() {
let elements = document.getElementsByTagName("h2"); // находим элементы с тегом h2
let ul = document.querySelector("ul"); // выбираем первый элемент <ul> в документе
for (let i = 0; i < elements.length; i++) {
// проходим циклом по всем элементам массивоподобного объекта
let stroka = elements[i].textContent;
for (let k = 0; k < stroka.length; k++) {
let newLi = document.createElement("li");
newLi.textContent = stroka[k];
ul.appendChild(newLi);
//ul.insertAdjacentHTML("afterbegin", stroka[k]); //вариант вместо createElement, но заголовки выводит задом наперед
}
}
}
Кнопка не нужна, просто для простоты проверки работы скрипта.