我正在寻找一个内容生成器的Jquery自动表。尝试了不同的,直到我找到了一个完美的工作。
$(document).ready(function() {
$(tocList).empty();
var prevH2Item = null;
var prevH2List = null;
var index = 0;
$("h2, h3").each(function() {
//insert an anchor to jump to, from the TOC link.
var anchor = "<a name='" + index + "'></a>";
$(this).before(anchor);
var li = "<li><a href='#" + index + "'>" + $(this).text() + "</a></li>";
if( $(this).is("h2") ){
prevH2List = $("<ul></ul>");
prevH2Item = $(li);
prevH2Item.append(prevH2List);
prevH2Item.appendTo("#tocList");
} else {
prevH2List.append(li);
}
index++;
});
});
&#13;
<html>
<head>
<script type="text/javascript"
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
</head>
<body>
<h1>Title</h1>
<div id="tocDiv">
<ul id="tocList">
</ul>
</div>
<h2>Chapter 1</h2>
<h3>Section 1.1</h3>
<h2>Chapter 2</h2>
<h3>Section 2.1</h3>
<h2>Chapter 3</h2>
<h3>Section 3.1</h3>
<h3>Section 3.2</h3>
<script>
$(document).ready(function() {
});
</script>
</body>
</html>
&#13;
问题是表格显示了身体的所有标题。我想要的只是显示特定id或类的标题,如Article。
谢谢:)
答案 0 :(得分:0)
试试此代码。在循环中将元素更改为类。将“标题”类提供给您想要显示的所有标题。
ex: <h2 class="Heading">Chapter 1</h2>
$(".Heading").each(function () {
//insert an anchor to jump to, from the TOC link.
var anchor = "<a name='" + index + "'></a>";
$(this).before(anchor);
var li = "<li><a href='#" + index + "'>" + $(this).text() + "</a></li>";
if ($(this).is("h2")) {
prevH2List = $("<ul></ul>");
prevH2Item = $(li);
prevH2Item.append(prevH2List);
prevH2Item.appendTo("#tocList");
} else {
prevH2List.append(li);
}
index++;
});