jquery还原含有rowspan、colspan的table

news/2024/7/10 23:54:28 标签: table, jquery, function, 正则表达式, 测试, 工具

需求

  把含有rowspan、colspan的table还原。

  例如原table为:

  还原后的table为:

 

代码原理

  对table进行遍历,如果td的rowspan属性值大于1,则给当前的td的父元素的兄弟元素添加td,如果td的colspan属性值大于1,则在当前的td元素后添加td

完整代码

复制代码
//本文首发博客园:http://artwl.cnblogs.com(2012/02/08)
jQuery.fn.RevertTable=function(){
$("tr",this).each(function(trindex,tritem){
$(tritem).find("td").each(function(tdindex,tditem){
var rowspanCount=$(tditem).attr("rowspan");
var colspanCount=$(tditem).attr("colspan");
var value=$(tditem).text();
var newtd="<td>"+value+"</td>";
if(rowspanCount>1){
var parent=$(tditem).parent("tr")[0];
while(rowspanCount-->1){
$($(parent).next()[0].children[tdindex]).before(newtd);
parent=$(parent).next();
}
$(tditem).attr("rowspan",1);
}
if(colspanCount>1){
while(colspanCount-->1){
$(tditem).after(newtd);
}
$(tditem).attr("colspan",1);
}
});
});
}
复制代码

测试案例

src="http://jscode.chinacxy.com/code/b5e8b26158920800728c442f26067656.aspx" frameborder="0" width="320" height="240" style="margin: 0px; padding: 0px; width: 966px; height: 300px; ">

小结

  本文只提供了还原含有rowspan、colspan的table的方案之一,欢迎大家测试讨论。

  至于合并表格单元格网上已经有了代码:

  原文标题:jQuery colspan and rowspan table using cell break

  原文地址:http://willifirulais.blogspot.com/2007/07/jquery-table-column-break.html

  本文首发博客园:http://artwl.cnblogs.com

版权
作者: Artwl   出处: http://artwl.cnblogs.com

本文首发博客园,版权归作者跟博客园共有。转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。

推荐工具:在线测试正则表达式


http://www.niftyadmin.cn/n/1411461.html

相关文章

Jquery一个遍历Table表头的例子

function CheckTotal(textBoxObj){var trNode textBoxObj.parent().parent(); //获取input的“爷爷”--tr var totalIdex 0;var standardpackIndex 0;var availableIndex 0;var remarksIndex 0;$("#dgItem").find(th).each(function (thindex, thitem)…

通道符的理解

通道符将前面的标准输出作为标准输入传递给后面的命令。如果标准输出是多行&#xff0c;那么通道符是如何传递的呢&#xff1f; 根据我的理解&#xff1a;标准输出后面跟上通道符后&#xff0c;以换行符为分隔符&#xff0c;输出到流中&#xff0c;然后&#xff0c;同样以换行符…

vue-router教程示例

1、vue-router介绍 vue框架作为一个单页面应用&#xff08;SPA&#xff09;的框架&#xff0c;路由应该是其中最重要的一部分。 路由作为单页面应用的核心&#xff0c;原因就是router路由是一个项目的骨架&#xff0c;有了骨架&#xff0c;我们才能真正的填充基于这个骨架的血…

初学Java,IO之重定向标准输入\输出(四十五)

重定向标准输入/输出一共有三个方法 setErr 重定向“标准”错误输出流 setIn 重定向“标准”输入流 setOut 重定向"标准"输出流 下面使用重定向输出流把System.out输出重定向为向文件输出&#xff0c;而不是在屏幕上输出import java.io.*; public class RedirectOu…

Lua学习笔记7:时间和日期

lua中的时间类似于C语言中的时间&#xff0c;例如以下&#xff1a;local time os.time() print(time)local t os.date("*t") for k,v in pairs(t) do <span style"white-space:pre"> </span>print(k,v) end这样就能够分别输出年、月、日、时…

初学Android,Hello World 第一个Android程序(一)

在客户的"突然袭击"下&#xff0c;我只好放下Java的学习计划&#xff0c;直接来学Android了&#xff0c;虽然这样不是很好的学习顺序&#xff0c;但实际情况往往快过计划&#xff0c;any way&#xff0c;这样也没关系&#xff0c;相信我能应付得来 下面是学习写的第一…

CSS3核心知识

CSS3作为面试中的一个重要模块&#xff0c;个人认为&#xff0c;应该把它梳理和总结出来&#xff1a; 经过自己的查阅资料&#xff0c;结合项目实战&#xff0c;我认为CSS3中有这么几个重点模块需要重视&#xff1a;弹性盒子、媒体查询、2D3D转换、过渡、动画等等。 1、弹性盒…

用户注册邮箱验证逻辑

1、数据库增加两个字段&#xff1a;一个存验证码&#xff0c;一个存验证状态 2、用户注册后给邮箱发邮件&#xff0c;地址上带上验证码参数 3、用户点击地址&#xff0c;通过地址获取到验证码&#xff0c;拿这个验证码到数据库查找是否存在 4、如不存在验证失败&#xff0c;如果…