var H2 = $('#contentInner h2');
if(H2.length>0){
$('<ul></ul>').appendTo('#indexMenu>ul>li');
for(i=0;i<H2.length;i++){
var sh1 = null, sh2 = H2[i], f = false;
$('#contentInner h1, #contentInner h2').each(function(ind,o){
if ( f ) return;
if ( o.nodeName.toLowerCase() == 'h1' ){
sh1 = o;
return;
}
if ( o === sh2 ){
f = true;
}
});
var parentClass = sh1.className;
if($('#contentInner h2:not(#pagetitle)').eq(i).text().length>50){
var text = '<li class="h2-'+i+'"><a href="[[~[[*id]]]]#h2-'+i+'" title="'+$('#contentInner h2:not(#pagetitle)').eq(i).text().replace(/^\s*|\s+$/g, '').replace(/\t|\n/g, ' ')+'">'+$.trim($('#contentInner h2:not(#pagetitle)').eq(i).text().slice( 0, 50 )) + '…'+'</a></li>'
}else{
var text = '<li class="h2-'+i+'"><a href="[[~[[*id]]]]#h2-'+i+'">'+$('#contentInner h2:not(#pagetitle)').eq(i).text().replace(/^\s*|\s+$/g, '').replace(/\t|\n/g, ' ')+'</a></li>'
}
$('#contentInner h2').eq(i).addClass('h2-'+i) // .append('<a name="h2-'+i+'"></a>');
$(text).appendTo('#indexMenu>ul>li.'+parentClass+'>ul');
}
}
Конечный результат. Всем спасибо!