table 合并单元格
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>合并表格</title> <script> /////////////////////////////////////////////// //功能:合并表格 //参数:tb-需要合并的表格ID //参数:colLength--需要对前几列进行合并,比如, //想合并前两列,后面的数据列忽略合并,colLength应为2 //缺省表示对全部列合并 //data:2016.10.30 /////////////////////////////////////////////// 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: 2016.10.30 ///////////////////////////////////////// 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" > <thead> <tr> <th>1</th> <th>2</th> <th>3</th> <th>4</th> </tr> </thead> <tbody id="table1"> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> </tr> <tr> <td>5</td> <td>6</td> <td>3</td> <td>4</td> </tr> <tr> <td>5</td> <td>6</td> <td>3</td> <td>4</td> </tr> <tr> <td>4</td> <td>6</td> <td>3</td> <td>4</td> </tr> </table> <br><input type="button" value="合并表格" onClick="uniteTable(table1,2)"> </body> </html>
posted on 2016-10-30 22:32 zhoujiaxiang 阅读(104) 评论(0) 收藏 举报
浙公网安备 33010602011771号