Задать вопрос

Как взять из элемента текстовую информацию?

Здравствуйте
Никак не могу найти способ, чтобы взять полностью текст у найденного 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, но заголовки выводит задом наперед
    }
  }
}

Кнопка не нужна, просто для простоты проверки работы скрипта.
  • Вопрос задан
  • 63 просмотра
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Выкинуть нафиг второй цикл

for (let i = 0; i < elements.length; i++) {
    // проходим циклом по всем элементам массивоподобного объекта
    let stroka = elements[i].textContent;
    let newLi = document.createElement("li");
    newLi.textContent = stroka;
    ul.appendChild(newLi);
  }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 дек. 2024, в 11:07
10000 руб./за проект
23 дек. 2024, в 10:43
5000 руб./за проект
23 дек. 2024, в 10:32
2000 руб./за проект