вопрос
Есть скрипт, который выводит оглавление сформированное по тегам h3, но вот как сделать, чтобы тег h3 был пунктом, тег h4 подпунктом. Как это сделано на википедии
Скрипт
Вот как хотелось бы, чтобы было вот как на скрине
Скрипт
<div class="h3header">
<h2>Содержание</h2>
<ol id="h3header">
</ol><hr />
</div>
<div class="h3body" data-for="h3header">
<span itemprop="articleBody">{full-story}</span>
</div>
<script type="text/javascript">
$(function(){
$('.h3body').each(function(){
var e = $(this),
h = $('#'+e.data('for')).html('');
if( h.length > 0 ){
$('#dle-content').find('h3').each(function(i){
h.append('<li><a href="#h3link'+i+'">'+$(this).text()+'</a></li>');
$(this).wrap('<a name="h3link'+i+'"></a>')
});
} else $('.h3header').empty().remove();
});
});
</script>
Вот как хотелось бы, чтобы было вот как на скрине
<script type="text/javascript">
$(function(){
$('.h3body').each(function(){
var e = $(this),
h = $('#'+e.data('for')).html(''),
h3=!1,h3h=!1;
if( h.length > 0 ){
$('#dle-content').find('h3,h4').each(function(i){
if(this.tagName=='H3'){
h3 = $('<li><a href="#h3link'+i+'">'+$(this).text()+'</a></li>').appendTo(h);
}else{
(h3?($('ol',h3).length>0?$('ol',h3):$('<ol>').appendTo(h3)):h).append('<li><a href="#h3link'+i+'">'+$(this).text()+'</a></li>');
}
$(this).wrap('<a name="h3link'+i+'"></a>')
});
} else $('.h3header').empty().remove();
});
});
</script>
https://jsfiddle.net/u5hz7v92/