JS合并单元格

  

  在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);

 结果:

猜你喜欢

转载自www.cnblogs.com/qlqwjy/p/9048317.html