JS遍历Table合并单元格
2016-01-21 15:18
447 查看
(本随笔并非原创,忘记出处在哪里了sorry,向原作者致敬)
前段时间用到kendoUI 里面合并单元格问题,实现将Table内相同内容单位格进行合并。
前段时间用到kendoUI 里面合并单元格问题,实现将Table内相同内容单位格进行合并。
<script type="text/javascript"> /////////////////////////////////////////////// //功能:合并表格 //参数:tableId-需要合并的表格Id || 表格对象--则不要var tab = document.getElementById(tableId); //参数:colLength-合并前N列(缺省表示对全部列合并) /////////////////////////////////////////////// function MergeDateCells(tableId,colLength){ var tab = document.getElementById(tableId); if(!checkTable(tab)) return; var i=0; var j=0; var rowCount=tab.rows.length; //行数 var colCount=tab.rows[0].cells.length; //列数 var obj1=null; var obj2=null; //为每个单元格命名 for(i=0;i<rowCount;i++) { for(j=0;j<colCount;j++) { tab.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++) { //3的倍数行为拆分合并单元格 if(j%3==0) { obj1=document.getElementById("tb_"+j.toString()+"_"+i.toString()); 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()); } } } } ///////////////////////////////////////// //功能:检查表格是否规整 //参数:tab--表格对象 ///////////////////////////////////////// function checkTable(tab) { if(tab.rows.length==0) return false; if(tab.rows[0].cells.length==0) return false; for(var i=0;i<tab.rows.length;i++) { if(tab.rows[0].cells.length!=tab.rows[i].cells.length) return false; } return true; } </script>
相关文章推荐
- JavaScript js无间断滚动效果 scrollLeft方法 使用模板
- Jav 4000 aScript学习笔记(二):Function
- kindeditor上传视频
- JavaScript
- JavaScript学习笔记(一):Basic Knowledge
- package.json
- js之匿名函数
- Go Json字符串处理
- js浮点运算bug的解决办法
- map.js的编写(js编写一个对象的方式)
- map.js的编写(js编写一个对象的方式)
- 初识JavaScript Promises
- ExtJS中的Anchor
- JavaScript的四舍五入错误分析
- JS运动框架
- js导出excel
- 关于js清除cookie失败详解
- 使用ant和google closure compiler压缩js
- AC自动机1030 [JSOI2007]文本生成器
- 用google closure compiler 和ant压缩js