eg:

1 function hbh() { 2 var tab = document.getElementById("tableID"); 3 var maxCol = 2, val, count, start, qycol = 1, valqy; //maxCol:合并单元格作用到多少列,valqy 为区域列的内容,qycol为区域所在列的索引 4 5 for (var col = maxCol - 1; col >= 1; col--) { 6 count = 1; 7 val = ""; 8 valqy = ""; 9 10 for (var i = 0; i < tab.rows.length; i++) { 11 if (val == tab.rows[i].cells[col].innerHTML && valqy == tab.rows[i].cells[qycol].innerHTML) { 12 count++; 13 } 14 else { 15 if (count > 1) { //合并 16 start = i - count; 17 tab.rows[start].cells[col].rowSpan = count; 18 for (var j = start + 1; j < i; j++) { 19 $(tab.rows[j].cells[col]).remove(); 20 } 21 count = 1; 22 } 23 24 val = tab.rows[i].cells[col].innerHTML; 25 valqy = tab.rows[i].cells[qycol].innerHTML; 26 } 27 } 28 29 if (count > 1) { //合并,最后几行相同的情况下 30 start = i - count; 31 tab.rows[start].cells[col].rowSpan = count; 32 33 for (var j = start + 1; j < i; j++) { 34 $(tab.rows[j].cells[col]).remove(); 35 } 36 } 37 } 38 };