从特定的ID或类中获取标题

时间:2017-05-29 02:27:26

标签: javascript jquery html

我正在寻找一个内容生成器的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;
&#13;
&#13;

问题是表格显示了身体的所有标题。我想要的只是显示特定id或类的标题,如Article。

谢谢:)

1 个答案:

答案 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++;
});