我正在寻找一个使用给定 anchor 名称的 jQuery 目录插件。我发现的那些总是生成它们自己的 anchor 名称,导致不稳定的 URI,如 somewhere#toc_1_4
。但是对于这样的主播
<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/
关于javascript - 使用 anchor 名称的 jQuery 目录插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24054461/