我有一个简单的列表,想要选择第一个元素。
<ul>
<li class="first">Test</li>
<li>Test</li>
</ul>
我的js:
var list = document.getElementsByClassName("first")[0];
console.log(list);
但控制台说未定义,为什么?该如何以正确的方式完成?
答案 0 :(得分:2)
Javascript代码将在HTML代码之前执行,因此当javascript解释器执行一行时 var list = document.getElementsByClassName(“first”)[0]; 没有定义列表元素,因为尚未执行body元素。
为了使它工作,将一个javascript代码放在一个函数中,并使用body标签上的“onload”事件调用该函数。通过这样做,在加载完整的<body>
元素后将调用该函数。
答案 1 :(得分:0)
所以错误是在身体标签之前输入了脚本标签,在我移动到身体末端后它被修复了