代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
table,
table tr th,
table tr td {
border: 1px solid #0094ff;
}
</style>
</head>
<body>
<table style="border: 1px;" id="test1">
<thead>
<tr>
<th>表头1</th>
<th>表头2</th>
<th>表头3</th>
<th>表头4</th>
</tr>
</thead>
<tbody>
<tr>
<td>列1</td>
<td>列2</td>
<td>列3</td>
<td>列4</td>
</tr>
<tr>
<td>列1</td>
<td>列2</td>
<td>列3</td>
<td>列4</td>
</tr>
<tr>
<td>列1</td>
<td>列2</td>
<td>列3</td>
<td>列4</td>
</tr>
</tbody>
</table>
<script type="text/javascript" th:inline="javascript">
function mergeCell(table1, startRow, endRow, col) {
var tb = document.getElementById(table1);
if(!tb || !tb.rows || tb.rows.length <= 0) {
return;
}
if(col >= tb.rows[0].cells.length || (startRow >= endRow && endRow != 0)) {
return;
}
if(endRow == 0) {
endRow = tb.rows.length - 1;
}
for(var i = startRow; i < endRow; i++) {
if(tb.rows[startRow].cells[col].innerHTML == tb.rows[i + 1].cells[col].innerHTML) { //如果相等就合并单元格,合并之后跳过下一行
tb.rows[i + 1].removeChild(tb.rows[i + 1].cells[col]);
tb.rows[startRow].cells[col].rowSpan = (tb.rows[startRow].cells[col].rowSpan) + 1;
} else {
mergeCell(table1, i + 1, endRow, col);
break;
}
}
}
mergeCell('test1', 1, 3, 0);
</script>
</body>
</html>
效果:
![](https://img.haomeiwen.com/i5362082/5316a9f16982c542.png)
截屏2022-10-12 13.55.54.png
网友评论