天天看点

js 相同内容单元格合并

function tableSpan(tb1) {
    //合并行
    //列
    for (var i = tb1.rows[0].childNodes.length - 1; i >= 0; i--) {
        //行
        for (var j = tb1.rows.length - 1; j > 0; j--) {
            //当前单元格与上一单元格比较
            if (tb1.rows[j].childNodes[i].innerHTML == tb1.rows[j - 1].childNodes[i].innerHTML) {
                tb1.rows[j - 1].childNodes[i].rowSpan += tb1.rows[j].childNodes[i].rowSpan;
                tb1.rows[j].removeChild(tb1.rows[j].childNodes[i]);
            }
        }
    }

    //合并列
    //行
    for (var i = tb1.rows.length - 1; i >= 0; i--) {
        break; //不合并列
        //列
        for (var j = tb1.rows[i].childNodes.length - 1; j > 0; j--) {
            //当前单元格与左一单元格比较
            if (tb1.rows[i].childNodes[j].innerHTML == tb1.rows[i].childNodes[j - 1].innerHTML) {
                tb1.rows[i].childNodes[j - 1].colSpan += tb1.rows[i].childNodes[j].colSpan;
                tb1.rows[i].removeChild(tb1.rows[i].childNodes[j]);
            }
        }
    }
}
           

继续阅读