一个合并重复行的js dom 操作函数



/*
* 合并重复内容的单元格
* @param tableId 操作table的ID
* @param tbodyId table的tbody ID
*/

function changeRowspan(tbodyId){
var tbObj = document.getElementById(tbodyId); //取得tbody对象
if(tbObj != null) {
var rowsObj = tbObj.rows; //tbody 的所用行的对象集合
for(var i = 0; i < rowsObj.length;){
var trObj = rowsObj[i]; // 取得行对象
var tdsObj = trObj.cells; //取得一行中所有td的对象集合
var curTdObj = tdsObj[0]; // 取得一行中第一个 td对象

if((curTdObj.rowSpan < 2) && (tdsObj.length < 4)){
i++;
continue;
}

/*
*如果前一行第一个td 的内容与当前行第一个td的内容相同
*将前一行第一个td 的 “合并行值”与当前行第一个td的值累加,
*并将当前行第一个td删除。 行数i 加上当前行第一个td的“合并行值”。
*跳过之后从头执行
*/
if((i > 0) && (curTdObj.innerHTML == preTdObj.innerHTML)) {
preTdObj.rowSpan = preTdObj.rowSpan + curTdObj.rowSpan;
trObj.removeChild(curTdObj);
i += curTdObj.rowSpan;
continue;
}

i++;
var preTdObj = tdsObj[0];
}
}
}

注:ie 不知道 textContent 属性

你可能感兴趣的:(IE)