2

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
  }
);
4

0 に答える 0