javascript - 如何在单击由 JS 生成的特定元素时添加颜色
问题描述
我正在用 HTML、CSS 和 vanilla JS 创建一个像素艺术制作器。我已经创建了大部分用户界面,但我无法让功能正常工作。我试过了:
let cell = document.body.querySelectorAll('.grid-square');
cell.addEventListener('click', function() {
cell.style.backgroundColor = 'red';
});
但我的页面“addEventListener”不是一个函数。如何让我的 JS 在 HTML 之后加载,这样我才能让它工作?
解决方案
let cells = document.body.querySelectorAll('.grid-square'); // querySelectorAll return all elements which have grid-square class.
for(let i = 0; i < cells.length; i++){
cells[i].addEventListener('click', function(){
cells[i].style.backgroundColor = "red";
});
}
推荐阅读
- c# - OnTouchEvent 从未在 Xamarin Android 自定义渲染器中调用
- node.js - discord.js ReferenceError:未定义成员
- flutter - Flutter 图表 tickProviderSpec 到 15 分钟
- kotlin - 是否有将 Lambda 记录为 KDoc 中的函数参数的约定?
- javascript - redux-form:如何在 Promise 中抛出新的 SubmissionError?
- .net - 针对远程 Active Directory 验证用户名
- constraint-programming - clp(Z) 与 Kiselyov 关系算术
- css - 滚动时在粘性表格列的右侧出现阴影
- python - 是否可以使用 Tkinter 滚动条控制 matplotlib 图?
- scala - 在 Scala 中实现传统基于循环的任务的最佳方式