一個合併重複行的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 屬性
發佈了1 篇原創文章 · 獲贊 0 · 訪問量 2380
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章