试图创建一个带有删除每一行的按钮的表,但它只适用于一行(javascript)
Trying to create a table with buttons to remove each row, but it only works on one row(javascript)?
这是我的javascript,一旦我单击一个按钮,它就会删除该行,但其他按钮什么都不做。
var removeRowBtns = document.getElementsByClassName("removeRowBtn")
var tableRows = document.getElementsByTagName("tr")
for(var i = 0; i < removeRowBtns.length; i++) {
removeRowBtns[i].addEventListener("click", function() {
tableRows[i].parentNode.removeChild(tableRows[i]);
});
}
这是我的HTML:
<table class="table table-bordered">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email Address</th>
<th>Remove</th>
</tr>
<tr>
<td>name</td>
<td>name</td>
<td>email</td>
<td><button class="btn btn-danger removeRowBtn">X</button></td>
</tr>
<tr>
<td>name</td>
<td>name</td>
<td>email</td>
<td><button class="btn btn-danger removeRowBtn">X</button></td>
</table>
<script type="text/javascript" src="table.js"></script>
您的事件处理程序在循环完成后很长一段时间执行。
变量i
始终是循环的最后一个值。将按钮与需要删除的表行关联,并使用事件处理程序的e.target
获取对它的引用
例如,您可以使用以下类型的标记:
<tr id="r15"></tr> <input type="button" rawLink="r15" value="Delete"></input>
和JS像这个
for(var i = 0; i < removeRowBtns.length; i++) {
removeRowBtns[i].addEventListener("click", function(e) {
var raw = document.getElementById(e.target.getAttribute("rawLink"));
raw.parentNode.removeChild(raw);
});
}
相关文章:
- 从 html 表中选择一行(突出显示)并在单击按钮时发送值
- 隐藏列特定值上的一行中的按钮
- 如果只剩下一行,则禁用按钮
- 如何使用共享按钮将所有内容对齐到一行来解决问题
- 单击按钮时删除一行
- 从数据表中选择一行以显示单选按钮值
- 单击编辑按钮时,如何使用 jquery 从循环表的每一行传递 id
- 我想单击一个按钮,一次只执行已经制作的程序中的一行代码.(JavaScript)
- 挖空.js按钮读取对象列表中的一行
- Javascript 在单击时将输入值更改为单击按钮的同一行上的值
- 表 PHP 中每一行的删除按钮
- Onclick 无法正常工作,并且将按钮移动到下一行不起作用
- 需要我的文档.写出与我的点击按钮放在同一行上
- 使用表单中的PHP按钮根据变量ID从MYSQL数据库表中删除一行
- 单击表中的按钮后从上一行获取文本
- 单击同一行中的按钮后递减值 - 挖空
- html表的xsl生成为每一行提供一个按钮
- 单击按钮时,验证是否必须使用 Jquery 将至少一行移动到自定义表中
- 通过点击按钮在每一行上进行敲除式多维阵列打印
- 如何在单击“添加”按钮时添加一行按钮