table合并相同单元格的问题 谁能解决,感激不尽,都来看看啊

f8932809 f8932809 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
<script type="text/javascript"> 
function mc(tableId, startRow, endRow, col) {
var tb = document.getElementById(tableId);
if (col >= tb.rows[2].cells.length)
{
return;
}
if (col == 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[0].innerHTML)
{
tb.rows[i + 1].removeChild(tb.rows[i + 1].cells[0]);
tb.rows[startRow].cells[col].rowSpan = (tb.rows[startRow].cells[col].rowSpan | 0) + 1;

if (i == endRow - 1 && startRow != endRow)
{
mc(tableId, startRow, endRow, col + 1);
}
}
else {
mc(tableId, startRow, i + 0, col + 1);
startRow = i + 1;
}
}
}
</script>

HTML代码
<table width="400" border="1" id="table2"> 
<tr>
<td>a</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>a</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>6</td>
</tr>
<tr>
<td>a</td>
<td>2</td>
<td>3</td>
<td>3</td>
<td>4</td>
<td> </td>
</tr>
<tr>
<td>a</td>
<td>2</td>
<td>3</td>
<td>3</td>
<td>4</td>
<td> </td>
</tr>
<tr>
<td>b</td>
<td>3</td>
<td>4</td>
<td>6</td>
<td>7</td>
<td> </td>
</tr>
<tr>
<td>b</td>
<td>3</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td> </td>
</tr>
<tr>
<td>cc</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td> </td>
</tr>
<tr>
<td>cc</td>
<td>2</td>
<td>3</td>
<td>5</td>
<td>5</td>
<td> </td>
</tr>
<tr>
<td>d</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td> </td>
</tr>
<tr>
<td>e</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td> </td>
</tr>
</table>

调用:mc("table2",0,0,0)

合并前:

合并后

发现问题是: if (tb.rows[startRow].cells[col].innerHTML == tb.rows[i + 1].cells[0].innerHTML)
这句在递归回调时,判断列出现了问题,但我现在有些搞不懂,为什么要用 tb.rows[i + 1].cells[0].innerHTML 判断
而不是 tb.rows[i + 1].cells[col].innerHTML 为什么cells[0]始终为0 ?
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
f8932809
JavaScript 87,983 成员 224,681 内容