DOM GetElementsByTagName问题

时间:2011-09-25 23:20:40

标签: javascript dom getelementsbytagname

我刚刚开始学习JavaScript,我刚刚到达课程的DOM部分。

我有一个页面上有10个标签,我创建了以下JavaScript来告诉我我有多少。

<script type="text/javascript">
var myLinks = document.getElementsByTagName("a");
console.log("We have ", myLinks.length ," many links on the page");
</script>

然而,在控制台中,它会报告:

我们在页面上有0个链接

这不是真的,因为有10个链接,网站的导航部分有9个,页脚有1个。

如果有人能告诉我我做错了什么就会很棒。

由于

2 个答案:

答案 0 :(得分:6)

您需要将其包装在onload处理程序中,因为在执行时,DOM未完全加载:

<script type="text/javascript">
  window.onload = function() {
    var myLinks = document.getElementsByTagName("a");
    console.log("We have ", myLinks.length ," many links on the page");
  };
</script>

答案 1 :(得分:2)

将脚本放在文档末尾(关闭</body>之前):