javascript - 如何在javascript中的onclick内部建立索引
问题描述
我有这样简单的 5 个按钮:
<button class="btn btn-success">Button 1</button>
<button class="btn btn-success">Button 2</button>
<button class="btn btn-success">Button 3</button>
<button class="btn btn-success">Button 4</button>
<button class="btn btn-success">Button 5</button>
我有这个相应的javascript代码:
document.addEventListener("DOMContentLoaded",function(){
var button = document.getElementsByClassName('btn');
for (var i = 0; i < button.length; i++) {
button[i].onclick = function(){
console.log("button " + i)
}
}
},false)
我想为 onclick 中的按钮数组索引 i ,例如button[i].classList.add("something"
),我不想使用“this”之类的this.classList.add("something")
。我该怎么做?,谢谢
解决方案
尝试
const buttons = document.querySelectorAll(".clickme");
var count = 0;
buttons.forEach(btn => {
btn.addEventListener("click", (e) => {
const index = Array.from(buttons).indexOf(e.target);
alert(index);
});
});
推荐阅读
- powershell - 在输出文件中添加时间
- joomla - htmlspecialchars() 期望参数 1 是字符串,
- docker - 我可以在 Dockerfile FROM 语句中引用环境变量吗?
- r - 查询某个元素在列表中的比例
- html - 如何使用 HTML/CSS 添加边框线
- css - 来自另一个不可见 SVG 的 SVG 过滤器完全移除目标
- javascript - 带有 ID 的 React Datatable 组件中的编辑按钮
- google-play - Google Play 中的 gsutil 工具提取数据的数据类型是什么
- angular - Angular 无法读取未定义错误的属性“GetCarList”
- python - 比较未对齐的系列列 Pandas