首页 > 解决方案 > 未捕获的 TypeError:button.addEventListener 不是函数

问题描述

我正在自学 js,而且我是编程新手。我被困在下面的代码上,任何帮助将不胜感激:

<div id="container">
  <h1>To-Do list</h1>
  <input type="text">
  <ul>
    <li><span>X</span> one</li>
    <li><span>X</span> two</li>
    <li><span>X</span> three</li>
  </ul>
</div>

Javascript部分:

let li = document.getElementsByTagName("li");

let button = document.getElementsByTagName("span");

button.addEventListener("click", function() {
  console.log("clicked");
})

这抛出一个错误,说它不是一个函数。我的错误在哪里?

标签: javascripthtml

解决方案


您可以像这样遍历按钮:

let li = document.getElementsByTagName("li");

let buttons = document.getElementsByTagName("span");

[].forEach.call(buttons, function(button) {
    button.addEventListener("click", function() {
        console.log("You clicked!");
    });
});

推荐阅读