js遍历表格做合并处理

function joinRowsTable()
{
    var tb = document.getElementById("projectTable");
    var flg=1;
    for(var i=1;i<tb.rows.length;i++)
    {
        var num;
        var row;
        var tempvalue;
        if (i == 1) {
            tempvalue = tb.rows[1].cells[0].firstChild.nodeValue;
            num = 1;
            row = 1;
        }
        else
        {
            if (tb.rows[i].cells[0].firstChild.nodeValue == tempvalue) {
                num++;
                if (i == tb.rows.length-1 && num!=1)
                {
                    mergerRow(tb, row, 0, num,flg);
                }
            } else
            {
                mergerRow(tb, row, 0, num, flg);
                flg++;
                prow = row;
                row = i;
                num = 1;
                tempvalue = tb.rows[i].cells[0].firstChild.nodeValue;
            }
        }
       
    }
    
}
//num 合并几行 
//cell 合并的是哪一列的
//row 从哪一行开始合并
function mergerRow(tb, row, cell, num,flg) {
    for (var i = (row + 1), j = 0; j < (num - 1) ; j++) {
        tb.rows[i+j].removeChild(tb.rows[i+j].cells[cell]);
    }
    if (flg % 2 == 0) {
        tb.rows[row].cells[cell].setAttribute("style", "background:#fff");
    } else {
        tb.rows[row].cells[cell].setAttribute("style", "background:#F8F8F8");
    }
    tb.rows[row].cells[cell].setAttribute("rowspan", num);
}

 

posted @ 2014-09-15 11:19  风飘铃  阅读(1035)  评论(0编辑  收藏  举报