deleteRow() 连续删除多行

应用:删除表格选中的一行或多行。
html代码如下:

<table >
<tr>
<td >复选框</td>
<td >序号</td>
<td >代码</td>
<td >名称</td>
</tr>

<tbody id="mainBody">
<tr>
<td ><input type="checkbox" name="dms" value="D1" /></td>
<td >1</td>
<td >D1</td>
<td >名称1</td>
</tr>
<tr>
<td ><input type="checkbox" name="dms" value="D2" /></td>
<td >2</td>
<td >D2</td>
<td >名称2</td>
</tr>
<tr>
<td ><input type="checkbox" name="dms" value="D3" /></td>
<td >3</td>
<td >D3</td>
<td >名称3</td>
</tr>
<tr>
<td ><input type="checkbox" name="dms" value="D4" /></td>
<td >4</td>
<td >D4</td>
<td >名称4</td>
</tr>
</tbody>

</table>
需求是,点击删除时可以删除复选框选中的一行或者多行。一般情况下,第一直觉都是按照如下写法:

Js代码 
function onDelete() {
var checks = document.getElementsByName("dms");
var tbBody = document.getElementById("mainBody");
for (var i=0; i<checks.length; i++) {
if (checks[i].checked) {
tbBody.deleteRow(i);
}
}
}
这样写存在一个问题,当第一行被删除时,表格的结构发生了变化,以前的第i+1行变成了现在的第i行,所以按照这种写法无法遍历删除所以选中的行。

正确的写法应该是像下面这样,从最大的行号开始删除,这样第i+1行被删除后不会影响第i行在表格中的行号。

Js代码 
function onDelete() {
var checks = document.getElementsByName("dms");
var tbBody = document.getElementById("mainBody");
for (var i=checks.length-1; i>=0; i--) {
if (checks[i].checked) {
tbBody.deleteRow(i);
}
}
}

转载于:https://www.cnblogs.com/qq609113043/p/7109536.html

【2017-07-03】JS连续删除table中的选中的多行数据相关推荐

  1. js动态删除表格中的某一行

    js动态删除表格中的某一行 <!DOCTYPE html> <html lang="en"> <head><meta charset=&q ...

  2. js之删除对象中的属性——delete、es6解构赋值、自执行匿名函数

    js之删除对象中的属性--delete.es6解构赋值.自执行匿名函数 实例 const person = {name: '李世民',gender: 'male',age: 24 };// 删除目标对 ...

  3. R语言data.table导入数据实战:data.table中编写函数并使用SD数据对象

    R语言data.table导入数据实战:data.table中编写函数并使用SD数据对象 目录 R语言data.table导入数据实战:data.table中编写函数并使用SD数据对象 #data.t ...

  4. linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  5. python删除文本中指定内容_Python实现删除文件中含“指定内容”的行示例

    本文实例讲述了Python实现删除文件中含指定内容的行.分享给大家供大家参考,具体如下: #!/bin/env python import shutil,sys,os darray = [ " ...

  6. bash删除文件中含指定内容的行

    #!/bin/sh # 功能: 删除文件中含"指定内容"的行 # 运行方式: ./dline.sh c.log ==> 产生输出文件: c.log0array=(" ...

  7. [bash]删除文件中含特定字符串的行

    ]删除文件中含特定字符串的行[bash]: sed -e '/abc/d'  a.txt   // 删除a.txt中含"abc"的行,但不改变a.txt文件本身,操作之后的结果在终 ...

  8. linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  9. python删除文件部分内容_Python实现删除文件中含“指定内容”的行示例

    本文实例讲述了Python实现删除文件中含指定内容的行.分享给大家供大家参考,具体如下: #!/bin/env python import shutil, sys, os darray = [ &qu ...

最新文章

  1. 微信小程序数据拼接_微信小程序用户数据解密算法Java版
  2. python基础——迭代器与生成器
  3. SAP CRM Fiori busy dialog的工作原理
  4. Extjs time
  5. Flask入门到放弃(四)—— 数据库
  6. java mybatis 教程_(整理)MyBatis入门教程(一)
  7. 云图说|读请求太多怎么办?一键读写分离来帮忙
  8. micropython lcd12864_Esp8266+ssd1306液晶屏+microPython(2020-09-25)
  9. Fragment 和 FragmentActivity的使用(二)
  10. windows启动管理器怎么修复计算机,如果启动管理器丢失怎么办
  11. 金融IT和ERP,哪个更有前途?
  12. Excel中的VLOOKUP函数之数据匹配
  13. 重写系统黑色的TabBar
  14. 台湾“比基尼登山客”遗体运出 山友接其“回家”
  15. offsetWidth offsetHeight和clientWidth clientHeight的区别
  16. 计算机鼠标双击怎么,讲解电脑鼠标左键单击变双击怎么办
  17. 关于分辨率,你该知道这些!
  18. 力扣刷题-题目以及答案
  19. php获取qq空间,使用php批量抓取QQ空间相册链接
  20. 【Linux】VirtualBox设置静态ip

热门文章

  1. 安装GitLab,Jenkins,及自动化上线
  2. 一文读懂分库分表的技术演进(最佳实践)
  3. 下一代微服务!ServiceMesh的2018年度总结 | 万字雄文
  4. 为什么 kubernetes 天然适合微服务
  5. Makefile:条件编译
  6. Java 洛谷 P1482 Cantor表(升级版)
  7. 模拟四:STEMA 考试选择题模拟练习试卷(中级组)及答案 + 自我解题笔记
  8. 下列设备中 微型计算机系统必须具备的是,计算机应用基础题库
  9. 语法手册_是真的猛!SQL 语法速成手册
  10. php curl 测试,php使用curl检测网页是否被百度收录的示例