Javascript + DOM - 同一页面内的链接

Javascript + DOM - links within same page

我有一个包含多个条目 (div) 的现有页面,我循环遍历所有条目以获取所需的内容 (headers) 以创建 links 的列表。

在这个过程中,我为每个 header 分配了一个唯一的 ID,但我似乎无法将 link 列表到 "connect" 到特定条目。

Javascript:

var entries = document.getElementsByClassName('entry');
var ul = document.createElement('ul');

for (var i = 0; i < entries.length; i++) {

    var li = document.createElement('li');
    var heading = entries[i].getElementsByTagName('h2')[0];
    var addId = heading.setAttribute("id", "#entry" + i);

    var x = heading.getAttribute("id");

    var headingText = document.createTextNode(heading.firstChild.nodeValue);
    var link = document.createElement('a');

    link.setAttribute("href", x);
    link.appendChild(headingText);

    li.appendChild(link);
    ul.appendChild(li);

}

var target = document.getElementById('newdiv');
target.appendChild(ul);

我错过了什么,或者做错了什么?

当我用 link 将鼠标悬停在我的列表上时,它们会按预期显示 link - 但当我单击它时没有任何反应。如果我检查 DOM,我还可以看到所有 header 都分配了一个唯一 ID。

从 :

中删除#
var addId = heading.setAttribute("id", "entry" + i);//("id", "#entry" + i)

并将 # 添加到 :

link.setAttribute("href", "#"+x);//("href",x)