Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Создание содержания из тегов (https://javascript.ru/forum/css-html/83410-sozdanie-soderzhaniya-iz-tegov.html)

De12 02.12.2021 08:35

Создание содержания из тегов
 
Привет. Нашел скрипт, создает из h2 тегов содержание. Работает идеально, но хотелось бы улучшить и сделать, чтобы еще подтягивало h3 теги, но чтобы они были как подпункты h2. Т.е. пример структуры:
1. h2
1.1 h3
1.2 h3
2. h2
3. h2
4 h2
4.1 h3
4.2 h3

Можете помочь?

<div id="table-of-contents">
<div class="table-of-contents-head">Содержание статьи</div>	
<ul style="display: none;"></ul>
</div>

jQuery(document).ready(function($) {
	var menu = $('.modal-body h2');
	if ( menu.length ) {
		$('#table-of-contents ul').html(menu.clone());
		$('#table-of-contents ul h2').replaceWith(function(index, oldHTML){
			return $('<span class="sl_lt">').html(oldHTML);
		});
		$('#table-of-contents span').wrap('<li></li>');
		$('#table-of-contents span').wrap('<a id="b" rel="nofollow noindex" class="anchor"></a>');
		var i=0;
		$('.modal-body h2').each(function(){
			i++;
			$(this).attr('id', 'b_'+i);
		});
		var a=0;
		$('#table-of-contents ul li a').each(function(){
			a++;
			$(this).attr('href', '#b_'+a);
		});
		$('#table-of-contents ul').show();
		$('#table-of-contents a').hover(
			function(){$(this).prev('span').show();},
			function(){$(this).prev('span').hide();}
		);
		$('a[href^="#"]').click(function(){
			var _href = $(this).attr('href');
			$('html, body').animate({scrollTop: $(_href).offset().top+'px'});
			return false;
		});
	}
});

рони 02.12.2021 09:31

Цитата:

Сообщение от De12
создает из h2 тегов содержание.

подожду переводчика ... :-?

De12 02.12.2021 12:27

Цитата:

Сообщение от рони (Сообщение 542021)
подожду переводчика ... :-?

В статье есть теги h2 и h3, это как подразделы статьи. Содержание = содержание статьи:



Часовой пояс GMT +3, время: 04:22.