不太想描述,大家自行理解吧,这样可能记忆会深一点儿~

<script type="text/javascript">
function mergeCells(){
var count = 0;
var oldText = '';
var oldTd;
var count2 = 0;
var oldText2 = '';
var oldTd2;
var isDelete = false;
var trs = document.getElementsByTagName("tr");
for ( var i = 0; i < trs.length; i++) {
var tds = trs[i].getElementsByTagName("td");
if(count == 0){
oldText = tds[0].innerHTML;
oldTd = tds[0];
count = 1;
}else if(oldText != tds[0].innerHTML){
oldTd.rowSpan = count;
oldText = tds[0].innerHTML;
oldTd = tds[0];
count = 1;
}else{
count = count + 1;
tds[0].parentNode.removeChild(tds[0]);
isDelete = true;
}
if(i == trs.length - 1){
oldTd.rowSpan = count;
} /*添加了一个isDelete变量,用于判断是否删除元素*/
if(count2 == 0){
oldText2 = tds[1].innerHTML;
oldTd2 = tds[1];
count2 = 1;
}else if(isDelete){
if(oldText2 != tds[0].innerHTML){
oldTd2.rowSpan = count2;
oldText2 = tds[0].innerHTML;
oldTd2 = tds[0];
count2 = 1;
}else{
count2 = count2 + 1;
tds[1].parentNode.removeChild(tds[0]);
}
isDelete = false;
}else{
if(oldText2 != tds[1].innerHTML){
oldTd2.rowSpan = count2;
oldText2 = tds[1].innerHTML;
oldTd2 = tds[1];
count2 = 1;
}else{
count2 = count2 + 1;
tds[1].parentNode.removeChild(tds[1]);
}
}
if(i == trs.length - 1){
oldTd2.rowSpan = count2;
}
}
}
mergeCells();
</script>

用JavaScript动态实现单元格合并的更多相关文章

  1. PHPWord中文乱码、单元格合并、动态表格模板解决方案合集

    摘要:  最近一个项目开发要用到PHP技术导出Word文档,采用PHPWord插件,版本为0.6.2 beta,CodePlex已停止维护.网上还有另外一个版本的PhpWord,项目类名大小写上略有不 ...

  2. 关于table动态添加数据 单元格合并 数组合并

    var newArr = [ {"BranchID":1,"BranchName":"城二","BranchFullName&qu ...

  3. ExtJS 4.2 Grid组件的单元格合并

    ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid ...

  4. NPOI 教程 - 2.1单元格合并

    来源:http://liyingchun343333.blog.163.com/blog/static/3579731620091018212990/ 合并单元格在制作表格时很有用,比如说表格的标题就 ...

  5. asp.net使用控件datagrid实现表头单元格合并

    合并的要点: 1.datagid的单元格合并原理是table中tr,td的布局实现; 2.合并的时机实在其datagridcreate事件中实现; 3.认识一个对象TableCellCollectio ...

  6. DataGridView单元格合并

    本文章转载:http://www.cnblogs.com/xiaofengfeng/p/3382094.html 图: 代码就是如此简单 文件下载:DataGridView单元格合并源码 也可以参考: ...

  7. devexpress实现单元格合并以及依据条件合并单元格

    1.devexpress实现单元格合并非常的简单,只要设置属性[AllowCellMerge=True]就可以了,实现效果如下图: 2.但是在具体要求中并非需要所有的相同单元格都合并,可能需要其他的条 ...

  8. SNF快速开发平台MVC-表格单元格合并组件

    1.   表格单元格合并组件 1.1.      效果展示 1.1.1.    页面展现表格合并单元格 图 4.1 1.1.2.    导出excel合并单元格 图 4.2 1.2.      调用说 ...

  9. excel技巧--单元格合并与拆分

    如果要将上图的地区列做成下图的合并单一列: 有如下做法: (以下图表格为例) 1.选择要排序的表格,点击“开始”-->排序和筛选-->自定义排序.在对话框选择“业务项目”进行排序: 2.选 ...

随机推荐

  1. 在win7 windows 上编译 beego 上传到 linux 去执行

    在beego的项目目录下,执行: GOOS=linux GOARCH=amd64 go build So easy!但是却搞了好久! 参考连接:http://blog.csdn.net/changji ...

  2. Python学习---模版/包的概念

    1.1. 模块/包的概念 在Python中,一个.py文件就称之为一个模块(Module) 模块一共三种: python标准库 第三方模块 应用程序自定义模块 模块的使用:模块是用来组织函数的 解释器 ...

  3. vagrant安装centos7

    1. 安装VirtualBox 去官网https://www.virtualbox.org/wiki/Downloads下载最新版的Virtualbox,然后双击安装,一直点击确认完成. 2. 安装V ...

  4. DOS 保存系统日志

    1.导出系统日志,以当前日期命名 @echo offset nowDate=%date%set tmp=%nowDate:~0,-3%set file=%tmp:/=-%系统日志.evtx echo ...

  5. 475. Heaters (start binary search, appplication for binary search)

    Winter is coming! Your first job during the contest is to design a standard heater with fixed warm r ...

  6. linux-记录

    查看运行的进程  ps -aux|grep java 找到要删除的进程的编号 杀死进程  kill -9 1883(进程编号) 重启服务 sh satrtBussinessService.sh

  7. selenium 截图加上时间戳

    思路: 1  新建screenshot文件夹,不存在则创建该目录 2  在screenshot文件夹下新建当日日期文件夹,比如20190110:不存在则创建该目录 3  截图保存到当日文件夹,且截图文 ...

  8. 巧用padding生成正方形DIV

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. oracle中的分区表

    oracle中的分区表在系统中使用的频率不小,在一些数据量大的系统中更是频繁出现. 提到分区表,首先就要理解下什么是分区.其实所谓的分区简单来说就是分区域,分区表就是将一张表分区域存放. 那么分区域中 ...

  10. 一切皆文件-文件是对IO的最简抽象

    引用<Linux Kernel Development>原书里面的一句话 in Unix, everything is a file.This simplifies the manipul ...