我正在使用autoAnchors.js
我希望这个脚本: 1. 搜索 H1 标签 2. 为这些创建锚点 3. 将这些的 MENU 发布到另一个 div (#sidebar)
目前该脚本将执行1和 [2],但会将菜单发布到相同 id/class 的顶部,而不是单独的。
看起来我需要更改:将其返回以将菜单发布到其他地方。
任何支持将不胜感激。
这是当前脚本:
(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
}
);