普通表格合并
<title>表格合并</title> <table width="400" border="1" id="table1"> <tr> <td>a</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> </tr> <tr> <td>a</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>6</td> </tr> <tr> <td>a</td> <td>2</td> <td>3</td> <td>3</td> <td>4</td> <td></td> </tr> <tr> <td>b</td> <td>3</td> <td>4</td> <td>6</td> <td>7</td> <td></td> </tr> <tr> <td>b</td> <td>3</td> <td>5</td> <td>6</td> <td>7</td> <td></td> </tr> <tr> <td>cc</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td></td> </tr> <tr> <td>cc</td> <td>2</td> <td>3</td> <td>5</td> <td>5</td> <td></td> </tr> <tr> <td>d</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td></td> </tr> <tr> <td>e</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td></td> </tr> </table> <br /> </div>
function mc (tableId, startRow, endRow, col) { var tb = document.getElementById(tableId) if (col >= tb.rows[0].cells.length) { return } if (col === 0) { endRow = tb.rows.length - 1 } for (var i = startRow; i < endRow; i++) { if (tb.rows[startRow].cells[col].innerHTML === tb.rows[i + 1].cells[0].innerHTML) { tb.rows[i + 1].removeChild(tb.rows[i + 1].cells[0]) tb.rows[startRow].cells[col].rowSpan = (tb.rows[startRow].cells[col].rowSpan | 0) + 1 if (i === endRow - 1 && startRow !== endRow) { mc(tableId, startRow, endRow, col + 1) } } else { mc(tableId, startRow, i + 0, col + 1) startRow = i + 1 } } }
mc('table1', 0, 0, 0)