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

 更新时间:2013年08月11日 18:39:57   作者:  
表格相同内容单元格的合并在以前也有过类似的教程,本文为大家讲解的是使用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实现贪吃蛇小游戏

    基于javascript实现贪吃蛇小游戏

    这篇文章主要介绍了基于javascript实现贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Rxjs tap 操作符的使用场景示例

    Rxjs tap 操作符的使用场景示例

    这篇文章主要为大家介绍了Rxjs tap 操作符的使用场景示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 如何创建一个JavaScript弹出DIV窗口层的效果

    如何创建一个JavaScript弹出DIV窗口层的效果

    我将用最通俗的语言和最简洁的代码给大家演示如何创建一个JavaScript弹出DIV窗口层的效果
    2013-09-09
  • javascript中传统事件与现代事件

    javascript中传统事件与现代事件

    本文给大家介绍的是使用传统事件的方法来模拟现代事件,十分的简单实用,有需要的小伙伴可以参考下。
    2015-06-06
  • javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)

    javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)

    这篇文章主要介绍了javascript数组对象常用api函数,结合实例形式总结分析了javascript针对数组的连接、删除、反转、排序、插入等操作相关函数用法,需要的朋友可以参考下
    2016-09-09
  • js执行时间查看器

    js执行时间查看器

    这个脚本用来计算当前脚本执行的运行事件,而不是页面的执行时间。主要用于分析各个代码的执行效率。
    2010-06-06
  • 如何利用JavaScript编写更好的条件语句详解

    如何利用JavaScript编写更好的条件语句详解

    这篇文章主要给大家介绍了关于如何利用JavaScript编写更好的条件语句的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • window.opener用法和用途实例介绍

    window.opener用法和用途实例介绍

    window.opener,是通过window.open打开子窗体的父窗体的引用,下面为大家详细介绍下其具体的使用方法,感兴趣的朋友可以参考下
    2013-08-08
  • layer.open 按钮的点击事件关闭方法

    layer.open 按钮的点击事件关闭方法

    今天小编就为大家分享一篇layer.open 按钮的点击事件关闭方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • JS手机端touch事件计算滑动距离的方法示例

    JS手机端touch事件计算滑动距离的方法示例

    这篇文章主要介绍了JS手机端touch事件计算滑动距离的方法,结合实例形式分析了javascript响应手机端屏幕上touch事件计算滑动距离的相关操作技巧,需要的朋友可以参考下
    2017-10-10

最新评论