Javascript合并表格中具有相同内容单元格示例


Posted in Javascript onAugust 11, 2013

效果图:
Javascript合并表格中具有相同内容单元格示例 
HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>表格相同内容合并</title> 
</head> 
<body> 
合并前: 
<table width="400" border="1"> 
<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 /> 
合并后:<br /> 
<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> 
</body> 
</html>

JS:
<script type="text/javascript"> 
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); 
</script>
Javascript 相关文章推荐
js各种验证文本框输入格式(正则表达式)
Oct 22 Javascript
Javascript处理DOM元素事件实现代码
May 23 Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
Apr 17 Javascript
封装好的javascript前端分页插件pagination
Jan 04 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
原生JS改变透明度实现轮播效果
Mar 24 Javascript
Three.js如何实现雾化效果示例代码
Sep 27 Javascript
VueJS事件处理器v-on的使用方法
Sep 27 Javascript
angularJs中$scope数据序列化的实例
Sep 30 Javascript
浅谈一个webpack构建速度优化误区
Jun 24 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
Sep 06 Javascript
js获取php变量的实现代码
Aug 10 #Javascript
如何使用Jquery获取Form表单中被选中的radio值
Aug 09 #Javascript
jquery对象和DOM对象的区别介绍
Aug 09 #Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 #Javascript
javascript判断机器是否联网的2种方法
Aug 09 #Javascript
jquery 列表双向选择器之改进版
Aug 09 #Javascript
jquery 简单应用示例总结
Aug 09 #Javascript
You might like
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
python中将字典形式的数据循环插入Excel
2018/01/16 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
Python 如何在字符串中插入变量
2020/08/01 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
应届生体育教师自荐信
2013/10/03 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
小学生春游活动方案
2014/08/20 职场文书
亲属关系公证书样本
2015/01/23 职场文书
期末个人总结范文
2015/02/13 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
golang中的并发和并行
2021/05/08 Golang
分享python函数常见关键字
2022/04/26 Python