没合并前:


我写的代码合并后:

这是我写的合并单元格代码:
// 单元格合并 tb1指表格里定义id属性
function tableSpan(tb1) {
//行
for (var i = tb1.rows.length-1; i > 0; i--) {
//列
for (var j = tb1.rows[i].childNodes.length - 3; j >= 0; j--) {
//当前单元格与上一单元格比较
if (tb1.rows[i - 1] && tb1.rows[i - 1].childNodes[j] && (tb1.rows[i].childNodes[j].innerHTML !== "") && (tb1.rows[i].childNodes[j].innerHTML == tb1.rows[i - 1].childNodes[j].innerHTML)) {
tb1.rows[i - 1].childNodes[j].rowSpan += tb1.rows[i].childNodes[j].rowSpan;
tb1.rows[i].removeChild(tb1.rows[i].childNodes[j]);
}
}
}
}
我现在写的合并单元格代码合并后表格前一段(即第三张截图)是显示是对的,后面截图里有很大问题,第一列相同的没有合并进去,想了好久都不知道怎么弄,请大神帮忙解答下。注意下这些数据都是动态从xml读取的