table第一列相同行进行合并

621 阅读1分钟
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      table {
        margin: 100px auto;
        border: 1px solid black;
        border-spacing: 0;
      }

      td {
        border: 1px solid black;
        border-collapse: collpase;
      }
    </style>
  </head>

  <body>
    <table class="table table-striped table-sm">
      <thead>
        <tr>
          <th colspan="3">交叉路口名称</th>
          <th>道路名称</th>
          <th>顺序</th>
          <th>路宽</th>
          <th>车道类型</th>
          <th>车道方向</th>
          <th>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;操作</th>
        </tr>
      </thead>
      <tbody>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口1</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口1</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口2</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口2</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口2</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
        <tr class="order">
          <td class="f1" colspan="3">环城南一路与骖鸾路交叉口2</td>
          <td>兴和路</td>
          <td>西南到东北</td>
          <td>3.596</td>
          <td>机动车道</td>
          <td>出口道</td>
        </tr>
      </tbody>
    </table>
    <script>
      //利用去重原理
      var arr = [];
      var f1 = document.getElementsByClassName("f1");
      // console.log(f1);//td.f1  length 8
      // console.log(f1[0].innerHTML);//环城南一路与骖鸾路交叉口
      for (let i = 0; i < f1.length; i++) {
        if (arr.indexOf(f1[i].innerHTML) == -1) {
          arr.push(f1[i].innerHTML);
          var index = i; //index是第一个没有重复的元素
          document.getElementsByClassName("f1")[i].style.borderBottom =
            0 + "px";
        } else {
          document.getElementsByClassName("f1")[i].style.display = "none"; //隐藏重复的元素
          document.getElementsByClassName("f1")[index].rowSpan += 1; //删去重复的元素,就给第一个元素的rowspan+1
        }
      }
      console.log(arr);
    </script>
  </body>
</html>

image.png 应用场景 比如商城的sku 表格