Javascript中“button is null”是什么意思?

时间:2015-08-26 16:03:24

标签: javascript

我刚开始用JavaScript编码,我决定运行一些代码。 (如下所示)

-t

然而,每当我运行代码时,它会说按钮为空。帮助

3 个答案:

答案 0 :(得分:6)

来自the documentation

  

如果未找到匹配项,则返回null;否则,它返回第一个匹配元素。

因此,在您运行querySelector时,DOM中没有ID big-button 的元素。

这通常是由于将脚本放在head中并尝试访问body中的元素。解决这个问题的方法包括:

  • 移动<script>,使其显示在您尝试访问的元素之后。这可以直接在</body>标记之后或之前。
  • 将代码包装在函数中,并将该函数绑定为load事件处理程序。
  • 在事件触发时将事件侦听器绑定到window并测试event.target以查看它是否与元素匹配。

答案 1 :(得分:0)

将代码移到onload

window.onload = function(){
    var button = document.querySelector('#big-button');
    button.addEventListener('click', handleClick);

}

答案 2 :(得分:0)

在这种情况下,这意味着当您尝试执行第button.addEventListener('click', handleClick)行时,变量“button”为null。如果您执行的代码具有ID为“big-button”并且您尝试通过调用document.querySelector('#big-button');

来检索该代码时页面上没有元素,则会发生这种情况