如何自动生成目录

时间:2013-11-30 19:08:42

标签: javascript html list href

我是JavaScript的新手,对于学校我必须自动制作每个< \ h1>在我的页面上生成一个“ol”,在每个“li”中链接到我页面上放置标题的地方,所以最后我有一个目录,每个“li”上都有链接。所以我应该能够只写文本而不用担心目录。有没有办法在不使用过于复杂的代码的情况下执行此操作?最好不要太长,所以我能理解它。

e.g。

<h1 id="h1-01">Title 1<\h1>
<h1 id="h1-02">Titel 2<\h1>
<h1 id="h1-03">Titel 3<\h1>
<h1 id="h1-04">Titel 4<\h1>

使其生成如下:

<ol>
<li><a href="h1-01">Title 1</a></li>
<li><a href="h1-02">Title 2</a></li>
<li><a href="h1-03">Title 3</a></li>
<li><a href="h1-04">Title 4</a></li>
</ol>

编辑: 我不希望任何人完成我的所有作业,这只是家庭作业中的一小部分。我想知道的是如何在没有太复杂的代码的情况下在javascript中创建包含列表项的有组织列表。我已经找到了将每个标题文本放在变量中的方法。 这就是我所拥有的

function generate(){
var titels = new Array();
for(var i = 1;i<10;i++){
var test = 'h1-0'+ i;
    titels[i] = document.getElementById(test).textContent;  
}
}
-->
</script>

现在唯一的问题是我必须用这些变量制作一个列表,但我没有在互联网上找到任何有用的东西,我发现的所有东西都使用Jquery ir特定于某人的问题。我还想要一种方法来计算我正在使用的标题数量,但这是另一个问题。实际上甚至可以让代码实际上像我正在编写它一样实现吗?

像:

html.write("<ol>");

for(var i = 1, i<10,i++){

html.write("<il>" + titels[i] +  "<\il>");

}

html.write("<\ol>")

2 个答案:

答案 0 :(得分:0)

我不打算做你的作业,但会指出你的方向。

尝试构建一个包含每个条目的id和标题的对象。从那里,您可以使用该对象来构建几乎任何东西,包括有序列表。

当然,你可以将h1标签硬编码到列表项中,但这不是正确的方法,而不是你应该学习的东西。

答案 1 :(得分:0)

开始提示: 你可以在jquery的帮助下完成它。

喜欢这个HTML:

 <ol id=contents></ol>

   <h1>Test</h1>
      bla bla 

      <h1> Test2 </h1>
      Ble ble ble

Jquery:

 $(document).ready(function(){
     $("h1").each(function(){
         $("#contents").append("<li>" + $(this).html() + "</li>");
     });
 });