使用锚名的jQuery目录插件

jQuery table of contents plugin that uses anchor names

本文关键字:插件 jQuery      更新时间:2023-09-26

我正在寻找使用给定锚名的jQuery内容表插件。我发现的那些总是生成它们自己的锚名,导致像somewhere#toc_1_4这样不稳定的uri。但是对于这样的锚

<h2><a name="something-special">Something Special</a></h2>

我想要一个像somewhere#something-special的URI。

有这样的插件吗?

我不知道这样的插件,但这可以很容易地自己完成:

$('a[name]').each(function(i, v) {
    var e = $(v);
    if (e.text() != '') {
        $('#toc').append('<li><a href="#' + e.attr('name') + '">' + e.text() + '</a></li>');
    }
});

对于每个链接,在#toc后面添加一个列表项(可以是有序列表):

<h1>Table of contents:</h1>
<ol id="toc"></ol>

你也可以加上:

<a name="something-special" data-toc="yes" data-title="Special topic">special</a>

并使用代码:

$('a[name]').each(function(i, v) {
    var e = $(v);
    var t = e.data('title') || e.text();
    if (e.data('toc') == 'yes' && t.length > 0) {
        $('#toc').append('<li><a href="#' + e.attr('name') + '">' + t + '</a></li>');
    }
});

这里有一个jsfiddle给你:http://jsfiddle.net/27Ubt/1/

考虑这个插件:

    jQuery插件目录

希望能有所帮助。