js合并表格相同单元格(纵向)

Posted 燕子fly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js合并表格相同单元格(纵向)相关的知识,希望对你有一定的参考价值。

<script>

  function getTable(table1) {
    var tb = document.getElementById(table1);

    trL = tb.rows.length;
    tdL = tb.rows[0].cells.length;
    var c;
    var count = 0
    for (let td = tdL - 1; td >= 0; td--) {
      for (var tr = 0; tr < trL; tr++) {
        if (count !== 0 && c && c !== tb.rows.length - 1) {
          tr = c
        }
        count = findSame(tb, tr, td)
        if (count !== 0) c = count + 2
        if (count === 0) { }
        else {
          tb.rows[tr].cells[td].rowSpan = count + 1
          for (var i = 1; i <= count; i++) {
            tb.rows[tr + i].removeChild(tb.rows[tr + i].cells[td])
          }

        }
        function findSame(tb, tr, td) {
          count = 0
          /*纵向比较*/
          function z(tb, tr, td) {
            if (td === 0) return true
            if (tb.rows[tr].cells[td - 1].innerhtml === tb.rows[tr + 1].cells[td - 1].innerHTML) {
              return z(tb, tr, td - 1)
            } else {
              return false
            }
          }
          /*横向比较*/
          function h(tb, tr, td, ) {
            if (tb.rows[tr + 1] && tb.rows[tr].cells[td] && tb.rows[tr + 1].cells[td] && tb.rows[tr].cells[td].innerHTML === tb.rows[tr + 1].cells[td].innerHTML) {
              if (z(tb, tr, td)) {
                count++
                return h(tb, tr + 1, td)
              } else {
                return count
              }
            } else {
              return count
            }
          }

          count = h(tb, tr, td)

          return count

        }
      }

    }
  }


  getTable(test1)

</script>

 

以上是关于js合并表格相同单元格(纵向)的主要内容,如果未能解决你的问题,请参考以下文章

JS实现合并div单元格

table标签的td如何横向、纵向合并?

C#2008报表控件导出excel格式,能实现类似excel中的合并单元格

html怎么合并单元格

使用js方法将table表格中指定列指定行中相同内容的单元格进行合并操作。

前端页面表格实现合并单元格