Html 自动合并单元格插件

简介: 日常开发中,经常遇到表格里需要自动合并单元格,考虑到写服务器控件比较消耗性能,因些还是把这种工作交给客户端Javascript去做吧,基于习惯用jquery框架,所以封装了一个Jquery插件。

日常开发中,经常遇到表格里需要自动合并单元格,考虑到写服务器控件比较消耗性能,因些还是把这种工作交给客户端Javascript去做吧,基于习惯用jquery框架,所以封装了一个Jquery插件。

效果:

image.png

jquery.table.rowspan.js

(function ($) {
  $.fn.extend({
        //表格合并单元格,colIdx要合并的列序号,从0开始
        "rowspan": function (colIdx) {
            return this.each(function () {
                var that;
                $('tr', this).each(function (row) {
                    $('td:eq(' + colIdx + ')', this).filter(':visible').each(function (col) {
                        if (that != null && $(this).html() == $(that).html()) {
                            rowspan = $(that).attr("rowSpan");
                            if (rowspan == undefined) {
                                $(that).attr("rowSpan", 1);
                                rowspan = $(that).attr("rowSpan");
                            }
                            rowspan = Number(rowspan) + 1;
                            $(that).attr("rowSpan", rowspan);
                            $(this).hide();
                        } else {
                            that = this;
                        }
                    });
                });
            });
        }
    });
})(jQuery);

html文件

<!DOCTYPE html>
<html>
  <head>
    <title>表格单元格合并Demo</title>
    <script src="jquery-1.4.4.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="jquery.table.rowspan.js"></script>
    <script type="text/javascript">
      function initLoad() {
        $("#tbListTM").rowspan(0); //第一列合并
        $("#tbListTM").rowspan(1); //第二列合并
      }
      $(document).ready(function () {
        initLoad();
      });
    </script>
    <style>
      .Nlist_con table {
        border-left: 1px solid #c9c9c9;
        border-top: 1px solid #c9c9c9;
        border-collapse: collapse;
      }
      .Nlist_con table th {
        border-right: 1px solid #c9c9c9;
        border-bottom: 1px solid #c9c9c9;
        background: #ececec;
        padding: 10px 5px;
        font-size: 14px;
        color: #2586d8;
        font-family: "宋体";
      }
      .Nlist_con table td {
        border-right: 1px solid #c9c9c9;
        border-bottom: 1px solid #c9c9c9;
        background: #fff;
        padding: 6px 3px;
        font-size: 12px;
        line-height: 20px;
        color: #676767;
      }
      .Nlist_con table td a {
        text-decoration: none;
        color: #2586d8;
        cursor: pointer;
      }
      .Nlist_con table td a:hover {
        text-decoration: underline;
        color: #2586d8;
      }
    </style>
  </head>
  <body>
    <div class="Nlist_con">
      <table
        border="1"
        cellspacing="1"
        cellpadding="0"
        width="100%"
        id="tbListTM"
      >
        <tr align="center">
          <th>发展领域</th>
          <th>发展要素</th>
          <th style="width: 60px">年度</th>
          <th style="width: 100px">评价内容</th>
          <th>分值</th>
          <th>评价办法</th>
        </tr>
        <tr>
          <td style="text-align: center">学校发展目标</td>
          <td>
            1.学校有先进办学理念,办学目标符合教育改革发展要求,符合学校实际和发展规律,体现出阶段性、递进性和自身特别。
          </td>
          <td>
            <span id="ctl00_ContentPlaceHolder1_rptListTM_ctl00_lblND"
              >2015</span
            >
          </td>
          <td>ee</td>
          <td>2</td>
          <td>办法1</td>
        </tr>
        <tr>
          <td style="text-align: center">学校发展目标</td>
          <td>
            1.学校有先进办学理念,办学目标符合教育改革发展要求,符合学校实际和发展规律,体现出阶段性、递进性和自身特别。
          </td>
          <td>
            <span id="ctl00_ContentPlaceHolder1_rptListTM_ctl01_lblND"
              >2016</span
            >
          </td>
          <td>dd</td>
          <td>2</td>
          <td>办法2</td>
        </tr>
        <tr>
          <td style="text-align: center">学校发展目标</td>
          <td>
            1.学校有先进办学理念,办学目标符合教育改革发展要求,符合学校实际和发展规律,体现出阶段性、递进性和自身特别。
          </td>
          <td>
            <span id="ctl00_ContentPlaceHolder1_rptListTM_ctl02_lblND"
              >2017</span
            >
          </td>
          <td>ff</td>
          <td>2</td>
          <td>办法3</td>
        </tr>
        <tr>
          <td style="text-align: center">学校发展目标</td>
          <td>
            2.培养目标符合教育方针。注重促进学生、教师主动发展和个性特长的发展,体现学校的个性与特色。
          </td>
          <td>
            <span id="ctl00_ContentPlaceHolder1_rptListTM_ctl03_lblND"
              >2015</span
            >
          </td>
          <td></td>
          <td>0</td>
          <td></td>
        </tr>
        <tr>
          <td style="text-align: center">学校发展目标</td>
          <td>
            2.培养目标符合教育方针。注重促进学生、教师主动发展和个性特长的发展,体现学校的个性与特色。
          </td>
          <td>
            <span id="ctl00_ContentPlaceHolder1_rptListTM_ctl04_lblND"
              >2016</span
            >
          </td>
          <td></td>
          <td>0</td>
          <td></td>
        </tr>
        <tr>
          <td style="text-align: center">学校发展目标</td>
          <td>
            2.培养目标符合教育方针。注重促进学生、教师主动发展和个性特长的发展,体现学校的个性与特色。
          </td>
          <td>
            <span id="ctl00_ContentPlaceHolder1_rptListTM_ctl05_lblND"
              >2017</span
            >
          </td>
          <td></td>
          <td>0</td>
          <td></td>
        </tr>
      </table>
    </div>
  </body>
</html>
目录
相关文章
|
JavaScript 前端开发
HTML VSCode 自用插件列表 (包含Vue)
HTML VSCode 自用插件列表 (包含Vue)
200 0
|
28天前
|
移动开发 Java API
HTML 插件详解
HTML中的插件如Flash、Java applets和ActiveX控件曾广泛用于扩展网页功能,但因安全性问题和跨浏览器兼容性不佳而逐渐被淘汰。现代替代方案包括HTML5的`&lt;audio&gt;`、`&lt;video&gt;`、`&lt;canvas&gt;`和SVG等,以及WebAssembly和各种JavaScript API(如WebRTC和WebGL),这些新技术不仅提升了网页性能和安全性,还改善了用户体验。建议开发者优先采用HTML5和相关API。
|
2月前
|
前端开发 程序员
【前端web入门第二天】01 html语法实现列表与表格_合并单元格
本文介绍了HTML中的列表与表格的使用方法。列表包括无序列表(`&lt;ul&gt;`嵌套`&lt;li&gt;`)、有序列表(`&lt;ol&gt;`嵌套`&lt;li&gt;`)和定义列表(`&lt;dl&gt;`嵌套`&lt;dt&gt;`和`&lt;dd&gt;`)。
55 19
|
4月前
WordPress插件介绍页源码单页Html源码
WordPress插件介绍页源码单页Html源码
63 2
WordPress插件介绍页源码单页Html源码
|
4月前
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
240 0
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
|
4月前
|
JavaScript 前端开发 物联网
文本,Vue实现打印的方式,打印机的种类有多少,浏览器打印html,右键,2打印插件,3指令打印,vue-print-nb
文本,Vue实现打印的方式,打印机的种类有多少,浏览器打印html,右键,2打印插件,3指令打印,vue-print-nb
|
12月前
markdown转html插件
markdown转html插件
90 0
零基础HTML入门教程(15)——合并单元格
我们上小节学习了表格,以及他的基本使用,那我们这一小节学习一下,合并单元格,并熟练使用。合并单元格时,合并行使用:colspan=“2”; 合并列使用:rowspan=“2” (这里的 ‘2’ 表明合并两个单元格) 效果如下 我们可以看到,表格合并了,为什么要学习表格合并那,因为我们再平时做表格的时候合并表格可以是他更容易看清内容使内容清晰,我们熟练掌握合并标签。
零基础HTML入门教程(15)——合并单元格
|
前端开发 JavaScript
开源炫酷css轮播图 可直接引入html文件使用 含注释 jQuery插件
开源炫酷css轮播图 可直接引入html文件使用 含注释 jQuery插件
124 0
开源炫酷css轮播图 可直接引入html文件使用 含注释 jQuery插件
关于VSCode中下载插件后还不能运行html文件到浏览器的问题
这段时间在学习html的过程中,想用VSCode运行html代码到浏览器,查阅资料后发现需要下载open in browser插件,但下载后右键点击仍然没有open in Default Browser的选项。经过反复的比对后,发现是下载的插件错误。
469 0
关于VSCode中下载插件后还不能运行html文件到浏览器的问题