autoAnchors.jsを使用しています
1. H1 タグを検索する 2. これらのアンカーを作成する 3. これらの MENU を別の div (#sidebar) に投稿する
現在、スクリプトは1と [2] を実行しますが、別の ID/クラスではなく、同じ ID/クラスの上部にメニューをポストします。
変更する必要があるように見えます: return this を別の場所にメニューを投稿します。
どんなサポートでも大歓迎です。
現在のスクリプトは次のとおりです。
(function($) {
$.fn.autoAnchors=function(settings){
var defaults = {
anchor: 'h2',
title: '',
numbering: false
};
var s = $.extend(defaults, settings);
var mcnt = 0;
this.each( function() {
mcnt++;
var links = '<div class="autoanchors">';
if (s.title){
links += s.title;
}
links += '<ul>';
var cnt = 0;
$(this).find(s.anchor).each( function() {
cnt++;
var title = $(this).text();
var filteredtitle = title.replace(/[^a-zA-Z0-9\s]+/g,'').replace(/\s/g,'_');
if (s.numbering){
title = '<span class="numbering">'+cnt+'</span>'+title;
$(this).html('<span class="numbering">'+cnt+'</span>'+$(this).html());
}
links += '<li><a href="#'+mcnt+'.'+cnt+'.'+filteredtitle+'">'+title+'</a></li>';
$(this).attr("id",mcnt+'.'+cnt+'.'+filteredtitle);
});
links += '</ul></div>';
if (cnt > 0){
$(this).prepend(links);
}
});
return this;
};
})(jQuery);
現在、次を使用して呼び出しています:
$(".pageMainContent").autoAnchors(
{
anchor: 'h1',
title: '',
numbering: false
}
);