javascript合并表格单元格实例代码
作者:程序员小菜 发布时间:2023-07-02 05:30:39
标签:javascript,合并,表格,单元格
本文为大家介绍了一段来源于网络上的代码实例,能够合并单元格,下面和大家分享一下,希望能够给需要的朋友或多或少带来一定的帮助。
代码实例如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<title>表格单元格合并代码</title>
<script type="text/javascript">
function autoRowSpan(tb,row,col){
var lastValue="";
var value="";
var pos=1;
for(var i=row;i<tb.rows.length;i++){
value=tb.rows[i].cells[col].innerText;
if(lastValue==value){
tb.rows[i].deleteCell(col);
tb.rows[i-pos].cells[col].rowSpan=tb.rows[i-pos].cells[col].rowSpan+1;
pos++;
}
else{
lastValue=value;
pos=1;
}
}
}
window.onload=function(){
var tb=document.getElementById("tb");
autoRowSpan(tb,0,0)
}
</script>
</head>
<body>
<table id="tb" border="1">
<thead>
<tr >
<td>国家</td>
<td>地区</td>
</tr>
</thead>
<tr>
<td>中国</td>
<td>河南</td>
</tr>
<tr>
<td>中国</td>
<td>四川</td>
</tr>
<tr>
<td>中国</td>
<td>北京</td>
</tr>
<tr>
<td>美国</td>
<td>纽约</td>
</tr>
<tr>
<td>美国</td>
<td>洛杉矶</td>
</tr>
<tr>
<td>英国</td>
<td>伦敦</td>
</tr>
</table>
</body>
</html>
在为大家分享一段:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>合并表格</title>
<script>
///////////////////////////////////////////////
//功能:合并表格
//参数:tb-需要合并的表格ID
//参数:colLength--需要对前几列进行合并,比如,
//想合并前两列,后面的数据列忽略合并,colLength应为2
//缺省表示对全部列合并
//data:2011.11.06
///////////////////////////////////////////////
function uniteTable(tb,colLength){
//检查表格是否规整
if(!checkTable(tb)) return;
var i=0;
var j=0;
var rowCount=tb.rows.length; //行数
var colCount=tb.rows[0].cells.length; //列数
var obj1=null;
var obj2=null;
//为每个单元格命名
for(i=0;i<rowCount;i++){
for(j=0;j<colCount;j++){
tb.rows[i].cells[j].id="tb__" + i.toString() + "_" + j.toString();
}
}
//逐列检查合并
for(i=0;i<colCount;i++){
if(i==colLength) return;
obj1=document.getElementById("tb__0_"+i.toString())
for(j=1;j<rowCount;j++){
obj2=document.getElementById("tb__"+j.toString()+"_"+i.toString());
if(obj1.innerText==obj2.innerText){
obj1.rowSpan++;
obj2.parentNode.removeChild(obj2);
}else{
obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString());
}
}
}
}
/////////////////////////////////////////
//功能:检查表格是否规整
//参数:tb--需要检查的表格ID
//data: 2011.11.06
/////////////////////////////////////////
function checkTable(tb){
if(tb.rows.length==0) return false;
if(tb.rows[0].cells.length==0) return false;
for(var i=0;i<tb.rows.length;i++){
if(tb.rows[0].cells.length!=tb.rows[i].cells.length) return false;
}
return true;
}
</script>
</head>
<body>
<table width="400" border="1" id="table1">
<tr>
<td>a</td>
<td>for</td>
<td>100</td>
<td>200</td>
<td>1</td>
</tr>
<tr>
<td>a</td>
<td>for</td>
<td>100</td>
<td>300</td>
<td>2</td>
</tr>
<tr>
<td>a</td>
<td>if</td>
<td>100</td>
<td>200</td>
<td>3</td>
</tr>
<tr>
<td>a</td>
<td>if</td>
<td>300</td>
<td>230</td>
<td>4</td>
</tr>
<tr>
<td>a</td>
<td>if</td>
<td>320</td>
<td>230</td>
<td>5</td>
</tr>
</table>
<br><input type="button" value="合并表格" onClick="uniteTable(table1,4)">
</body>
</html>
希望本文所述对大家学习javascript程序设计有所帮助。
0
投稿
猜你喜欢
- 本文实例讲述了Python使用爬虫爬取静态网页图片的方法。分享给大家供大家参考,具体如下:爬虫理论基础其实爬虫没有大家想象的那么复杂,有时候
- 今日一同时问我,new Date(Date(str))这段代码什么意思?我一看就晕了,一个new Date 一个Date这是什么意思?这函数
- 跳转实现思路主程序相当于桌子: import tkinter as tk root = tk.Tk() 而不同的Frame相当于不同的桌布:
- 阐述写SQL时本想通过 A left B join on and 后面的条件查出的两条记录变成一条,奈何发现还是有两条。后来发现 join
- 本文实例讲述了Python实现的直接插入排序算法。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-'
- 方法一:#导入math包import math#定义点的函数class Point: def __init__(self,x=0
- [sql] -- ===================【创建存储过程】===================== USE [Message
- Python语言的崛起让大家对web、爬虫、数据分析、数据挖掘等十分感兴趣。数据挖掘就业前景怎么样?关于这个问题的回答,大家首先要知道什么是
- 一、环境pip install opencv-pythonpython3.9pycharm2020人狠话不多,直接上代码,注释在代码里面,不
- pycharm简介PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语
- 语法使用 CAST:CAST ( expression AS data_type )使用 CONVERT:CONVERT (data_typ
- 无法导入本地安装好的第三方库一、安装第三方库1、 Anaconda安装(1)、打开“cmd”窗口(快
- PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,如同
- 索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因
- 1、使用argparse组件,获取命令行参数;使用re组件,获取需要查找的字符串所在行2、使用pandas组件,对文件进行排序。3、命令行执
- 这个格式是我自创的,经常有人问我为什么,这里做个简单总结:1、分类,一个模块或者同类功能定义为一类定义,每类定义之间用段落隔开。2、分级,每
- 循环可以用来重复执行某条语句,直到某个条件得到满足或遍历所有元素。1 for循环是for循环,可以把集合数据类型list、tuple、dic
- “'验证码'等于'流氓软件'”这句话本身存在逻辑问题,因为“验证码”并不是一个软件,而是软件里的一个功能。这
- seek()方法在偏移设定该文件的当前位置。参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当
- 自己做了一个tcp工具,在学习动画的时候踩了坑,需求是根据上线变绿色,离线变灰色,如果连接断开了,则变为灰色问题现象:可以看到点击“连接”,