javascript - 如何为 div 的每个元素添加事件监听器?
问题描述
我正在尝试为这个 div 的每个元素添加一个事件监听器。但我似乎无法访问这个 div 的每个元素。console.log 可以将表格打印为列表。但是在我尝试使用 forEach 方法后它显示错误。为什么会这样?
let table = document.getElementsByClassName('pixel');
console.log(table);
table.forEach(item => {
console.log(item)
});
解决方案
table 的返回值是一个HtmlCollection
而不是一个数组,因此您不能使用该Array.prototype.forEach
方法。
相反,您可以像这样遍历 div:
let table = document.getElementsByClassName('pixel');
console.log(table);
for (let item of table) {
console.log(item);
};
<div>
<div class="pixel">
P1
</div>
<div class="pixel">
P2
</div>
</div>
推荐阅读
- php - PHP/MySQL 多个查询好吗?
- python - 将值从 HTML 页面传递到烧瓶应用程序以实现数据库连接
- sql - 权限错误 - 创建数据库链接 Oracle
- regex - 如何在postgresql中提取电子邮件最后一个'@'字符之前的部分?
- spreadsheet - Excel 2013 中的条件格式
- php - 准确比较来自不同时区的日期与归零时间
- laravel - Laravel Auth::guard('api')->user() 返回 null
- ionic-framework - Linux问题下的Ionic Android构建
- node.js - Node.js 环境中的水平缩放和 GraphQL
- javascript - 通过html将js变量发送到php文件