在Web中经常需要合并单元格,例如对于下面一个表格:
合并的JS方法:(可以作为一个工具方法)
/** * 合并单元格 * @param table1 表格的ID * @param startRow 起始行 * @param endRow 结束行 * @param col 合并的列号,对第几列进行合并(从0开始)。如果传下来为0就是从第一列开头到结束合并 */ function mergeCell(table1, startRow, endRow, col) { var tb = document.getElementById(table1); if (col >= tb.rows[0].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(table1, startRow, endRow, col + 1); } } else { mergeCell(table1, startRow, i + 0, col + 1); startRow = i + 1; } } }
例如上面:
mergeCell("BXTable",0,0,0);
结果: