<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<body onload="autoRowSpan1(tb,1,1)">
<table id="tb" border="1">
<thead>
<tr>
<td align="center">序号</td>
<td>国家</td>
<td>地区</td>
</tr>
</thead>
<tr>
<td align="center">1</td>
<td>中国</td>
<td>河南</td>
</tr>
<tr>
<td align="center">3</td>
<td>中国</td>
<td>北京</td>
</tr>
<tr>
<td align="center">4</td>
<td>美国</td>
<td>纽约</td>
</tr>
<tr>
<td align="center">5</td>
<td>美国</td>
<td>洛杉矶</td>
</tr>
<tr>
<td align="center">6</td>
<td>英国</td>
<td>伦敦</td>
</tr>
<tr>
<td align="center">2</td>
<td>中国</td>
<td>四川</td>
</tr>
</table>
<script>
function autoRowSpan1(tb,row,col) {
var lastValue="";
var value="";
var pos=1;
var increase = 0;
for(var i=row;i<tb.rows.length;i++){
value = tb.rows[i].cells[col].innerText;
if(lastValue == value){
tb.rows[i].deleteCell(col);
tb.rows[i-pos].cells[col].rowSpan = tb.rows[i-pos].cells[col].rowSpan+1;
//合并序列行
tb.rows[i].deleteCell(col-1);
tb.rows[i-pos].cells[col-1].rowSpan = tb.rows[i-pos].cells[col-1].rowSpan+1;
pos++;
}else{
lastValue = value;
pos=1;
//合并序列行
if(i==1){
tb.rows[1].cells[0].innerText=1;
}else{
increase++;
tb.rows[i].cells[col-1].innerText= parseInt(tb.rows[1].cells[0].innerText)+parseInt(increase);
}
}
}
}
</script>
</body>
</html>
期望: 第二列 只出现一个中国 ;中国包含 河南,北京,四川这种效果
演示程序