我一直在开发一个游戏,这是一些课堂作业的一部分,但遇到了一个问题。问题是代码只影响一个按钮。我正在使用下面的两个'.restart‘按钮来重新加载浏览器...
//Reload Page
document.querySelector('.restart').addEventListener('click', function () {
location.reload();
});
一个重新启动按钮在顶部(就像一个标题)。另一种是在模态中。Modal首先出现在HTML中。我是99.9%这就是为什么第二个被跳过了。我试过使用document.querySelectorAll....
,但是我得到了一个Uncaught TypeError: document.querySelectorAll(...).addEventListener is not a function
,两个都不起作用。如何使用一个代码片段来控制Javascript中所有相同的类?下面是一个代码笔的游戏…
发布于 2018-08-21 08:02:06
这是因为querySelectorAll()
返回了一个元素数组。
解决方案是遍历这些元素,并将事件附加到每个元素。
<button class="restart">Button 1</button>
<button class="restart">Button 2</button>
<button class="restart">Button 3</button>
<script>
var elements = document.querySelectorAll(".restart");
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener("click", function() {
location.reload();
});
}
</script>
因为您使用类名作为选择器,所以也可以使用getElementsByClassName("restart")
作为替代方法,该方法还返回一个元素数组。
https://stackoverflow.com/questions/51939775
复制相似问题