js實現(xiàn)表格動態(tài)合并
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
// table的id 需要合并的列(從0開始算) mergeCell(tableId, cols) { const table = document.getElementById(tableId); if (!table)return const table_rows = table.rows; // 需要合并的列的數(shù)組 cols.forEach((v, k) => { // 循環(huán)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) { // 標(biāo)記為需要刪除 next_col.classList.add('remove'); // 遞歸判斷當(dāng)前對象時候已經(jīng)被刪除 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的第一列數(shù)據(jù),相同的合并 mergeCell("table1", [0]) 該文章在 2023/11/26 21:54:09 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |