2

我正在使用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
  }
);
4

0 回答 0