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 相关文章推荐
用jQuery中的ajax分页实现代码
Sep 20 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
js中继承的几种用法总结(apply,call,prototype)
Dec 26 Javascript
浅谈javascript中for in 和 for each in的区别
Apr 23 Javascript
jquery中ajax处理跨域的三大方式
Jan 05 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
Aug 05 Javascript
JS实现微信里判断页面是否被分享成功的方法
Jun 06 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
JS实现深度优先搜索求解两点间最短路径
Jan 17 Javascript
vue-cli3 从搭建到优化的详细步骤
Jan 20 Javascript
es6 for循环中let和var区别详解
Jan 12 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中的Base62类(适用于数值转字符串)
2013/08/12 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
php实现字符串反转输出的方法
2015/03/14 PHP
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
深入学习python的yield和generator
2016/03/10 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
中式面点餐厅创业计划书
2014/01/29 职场文书
学校四风对照检查材料
2014/08/28 职场文书
硕士论文致谢范文
2015/05/14 职场文书
浅谈redis整数集为什么不能降级
2021/07/25 Redis
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle
Python的property属性详细讲解
2022/04/11 Python
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers