js实现表格动态合并
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
// table的id 需要合并的列(从0开始算) mergeCell(tableId, cols) { const table = document.getElementById(tableId); if (!table)return const table_rows = table.rows; // 需要合并的列的数组 cols.forEach((v, k) => { // 循环table每一行 for (let i = 0; i < table_rows.length - 1; i++) { // row let now_row = table_rows[i]; let next_row = table_rows[i + 1];
// col let now_col = now_row.cells[v]; let next_col = next_row.cells[v];
if (now_col.innerHTML == next_col.innerHTML) { // 标记为需要删除 next_col.classList.add('remove'); // 递归判断当前对象时候已经被删除 this.setParentSpan(table, i, v); } } }) let removeTds = document.getElementsByClassName('remove'); for (let i = removeTds.length-1; i >= 0; i--) { let eldTd = removeTds[i]; eldTd.parentNode.removeChild(eldTd); } }
setParentSpan(table, row, col) { const col_item = table.rows[row].cells[col]; if (col_item.classList.contains('remove')) { this.setParentSpan(table, --row, col) } else { col_item.rowSpan += 1; } } // 使用,合并id为table1的第一列数据,相同的合并 mergeCell("table1", [0]) 该文章在 2023/11/26 21:54:09 编辑过 |
关键字查询
相关文章
正在查询... |