document.getElementsByClassName(“...”)[0]返回undefined

时间:2016-03-11 06:22:46

标签: javascript html

我有一个简单的列表,想要选择第一个元素。

<ul>
  <li class="first">Test</li>
  <li>Test</li>
</ul>

我的js:

var list = document.getElementsByClassName("first")[0];
console.log(list);

但控制台说未定义,为什么?该如何以正确的方式完成?

2 个答案:

答案 0 :(得分:2)

Javascript代码将在HTML代码之前执行,因此当javascript解释器执行一行时 var list = document.getElementsByClassName(“first”)[0]; 没有定义列表元素,因为尚未执行body元素。

为了使它工作,将一个javascript代码放在一个函数中,并使用body标签上的“onload”事件调用该函数。通过这样做,在加载完整的<body>元素后将调用该函数。

答案 1 :(得分:0)

所以错误是在身体标签之前输入了脚本标签,在我移动到身体末端后它被修复了