0

我现在正在学习 javascript,下面的代码并没有产生我认为的结果:

var links = document.getElementsByTagName("a");

for(i=0; i<links.length; i++) {
    document.write(links[i]);
}

当我运行此代码时,它会从数组中写入 1 个元素。我希望它返回所有内容(有超过 1,000 个links

我做错什么了?

4

1 回答 1

2

links 是一个活动的 NodeList(参见.getElementsByTagName())。对页面上链接的任何更改都将立即反映在列表中。

第一个document.write是覆盖当前文档(如果在文档加载后使用),因此links列表将为空。

使用console.log()代替document.write并查看您浏览器的 Javascript 控制台。

var links = document.getElementsByTagName("a");

for(i=0; i<links.length; i++) {
    console.log(links[i]);
}
于 2012-07-10T08:25:31.140 回答