На странице присутствуют два дива, один с html-контентом, второй – в который будет сливаться оглавление.
Скрипту скармливаются id обоих.
Скрипт проходит подряд все заголовки до третьего уровня, добавляет перед ними якорь с идентификатором по порядку следования и, по сути, дублирует во второй див копию заголовков контента помещенных в ссылки, указывающие на соответствующие якоря.
Как присвоить якоря ссылкам, я, в принципе, придумал. Не знаю, как собрать сведения о заголовках и как их потом передать во второй див.
!function ($) {
$(function () {
var c = 1;
$('h1, h2, h3').each(function () {
var h = $(this)
h.before("<a id='" + c + "'></a>");
c++;
});
});
}(window.jQuery);