mergeCell(tableId, cols) {
let that = this
var table = document.getElementById(tableId);
var table_rows = table.rows;
cols.forEach((v, k) => {
for (let i = 0; i < table_rows.length - 1; i++) {
let now_row = table_rows[i];
let next_row = table_rows[i + 1];
let now_col = now_row.cells[v];
let next_col = next_row.cells[v];
if (now_col.innerHTML == next_col.innerHTML) {
next_col.className = "remove"
that.setParentSpan(table, i, v);
}
}
})
document.querySelectorAll('.remove').forEach(i => i.remove())
},
setParentSpan(table, row, col) {
let that = this
var col_item = table.rows[row].cells[col];
if (col_item.className == "remove") {
that.setParentSpan(table, --row, col)
} else {
col_item.rowSpan += 1;
}
},
调用方法
//DG_All 表格id
//[0, 1, 2] 需要合并的列索引,此处合并前三列
this.mergeCell('DG_All', [0, 1, 2])