【发布时间】:2021-10-26 14:39:33
【问题描述】:
这是我的代码 -
<tbody class = "tbody">
<% for(var i = 0; i < users.length; i++) { %>
<tr id="tr">
<th><%= i + 1 %></th>
<th><%= users[i].name %></th>
<th><%= users[i].email %></th>
<th><%= users[i].age %></th>
<th><%= users[i].address %></th>
<th><button class="update" data-id=<%= users[i]._id %>><i class="fas fa-edit"></i></button> </th>
<th><button class="delete" data-id=<%= users[i]._id %>><i class="fas fa-times"></i></button></th>
</tr>
<%}%>
</tbody>
const deleteButton = document.querySelector(".delete")
deleteButton.addEventListener("click", () => {
let id = deleteButton.getAttribute("data-id")
alert("ok")
console.log(id)
})
我想要的是当我点击任何删除图标时,警报应该会弹出,但是 当我单击删除图标时,它仅适用于第一个。当我点击它们的其余部分时没有任何反应。
我不知道该怎么做!
【问题讨论】:
-
因为
querySelector只返回匹配CSS选择器的first元素,所以只有第一个按钮绑定到事件监听器。 -
感谢解决方案
标签: javascript html dom html-table ejs