@khodos_dmitry

Возможно ли сделать скрипт автоматического сбора заголовков со страницы и формирования оглавления?

На странице есть текст с заголовками нужно из него как-то автоматически вытянуть заголовки h2 сформировать оглавление.
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 1
Yumeiro
@Yumeiro
Конечно можно, в чем проблема?
Заюзал jQuery в коде, если что.
Пример.
<h2>Заголовок 1</h2> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vestibulum consequat maximus. Pellentesque feugiat, nisl eget ornare lobortis, sem nisi maximus nisl, ultricies dapibus turpis odio id magna.
<h2>Заголовок 2</h2> Donec condimentum mauris nunc. Integer non mi at nunc imperdiet bibendum ac et sapien. Donec porta rhoncus nibh, eget egestas dui.
<h2>Заголовок 3</h2> Praesent dui nisl, molestie quis tellus sit amet, ullamcorper consectetur odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

#nav {
  border: 1px solid black;
  padding: 15px;
  box-sizing: border-box;
}

$(() => {
  //код внутри такого блока выполняется только после загрузки страницы
  $('body').prepend('<div id="nav"></div>');
  //создаем блок-обертку для содержания
  for (let i = 0, j = $('h2').length; i < j; i++) 
    //создаем цикл, i - счетчик, j - кол-во заголовков на странице
    $('#nav').append(`${$('h2').eq(i).html()}<br>`);
    //добавить пункт навигации: НАЗВАНИЕ + ПЕРЕНОС СТРОКИ
})

Результат вот тут можно увидеть: https://jsfiddle.net/c6dhdf4m/4/
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы