js 合并 table 行

 

Js 合并 table 行 的实现方法

需求如下:

 

某公司的员工档案,如下,  经理看员工的信息不是很清晰:

 

姓名

所在学校

毕业时间

张三

小学

2000

张三

中学

2006

张三

大学

2010

李四

小学

2000

李四

中学

2006

王五

小学

2006

 

所以要求要求姓名一列如果发现挨着的名字相同的话,将其合并为一行,如下图所示:

 

姓名

所在学校

毕业时间

 

张三

小学

2000

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用JavaScript动态合并指定表格列或来实现。以下是一个简单的示例代码: 合并指定列: ```javascript function mergeColumn(table, colIndex) { var rows = table.rows; var firstRow = rows[0]; var cellCount = firstRow.cells.length; var start = 1; var end = 0; var prevValue = ""; for (var i = 0; i < cellCount; i++) { if (i == colIndex) { for (var j = 1; j < rows.length; j++) { var currentValue = rows[j].cells[i].innerHTML; if (currentValue == prevValue) { end = j; } else { if (end > start) { mergeCells(rows, start, end, i); } prevValue = currentValue; start = j; end = j; } } if (end > start) { mergeCells(rows, start, end, i); } break; } } } function mergeCells(rows, start, end, colIndex) { for (var i = start; i <= end; i++) { rows[i].cells[colIndex].rowSpan = end - start + 1; for (var j = colIndex + 1; j < rows[i].cells.length; j++) { rows[i].cells[j].style.display = "none"; } } } ``` 合并指定: ```javascript function mergeRow(table, rowIndex) { var rows = table.rows; var cells = rows[rowIndex].cells; var cellCount = cells.length; var start = 0; var end = 0; var prevValue = ""; for (var i = 0; i < cellCount; i++) { var currentValue = cells[i].innerHTML; if (currentValue == prevValue) { end = i; } else { if (end > start) { mergeCells(rows, rowIndex, start, end); } prevValue = currentValue; start = i; end = i; } } if (end > start) { mergeCells(rows, rowIndex, start, end); } } function mergeCells(rows, rowIndex, start, end) { rows[rowIndex].cells[start].colSpan = end - start + 1; for (var i = start + 1; i <= end; i++) { rows[rowIndex].deleteCell(start + 1); } } ``` 你可以根据需要调用这些函数来合并表格的指定列或。例如,要合并第2列,可以调用mergeColumn(table, 1)函数。要合并第3,可以调用mergeRow(table, 2)函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值