一个合并重复行的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 属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值