普通表格合并

<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)

 

posted on 2021-04-16 09:36  稳住别慌  阅读(43)  评论(0编辑  收藏  举报