这个是合并行的,合并列的比较麻烦点,需要将table映射成一个二维数组,转置后再根据下面处理行的方法处理列合并,处理完后再转置,最后再映射成table(个人愚见,希望有高手能有简单方法)
<html>   
  <head>   
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">   
  <title>合并表格</title>
  <script>
  function marage(){
   var trObjs=document.getElementsByTagName("tr");
   var tr_len=trObjs.length;
   for(var i=tr_len-1;i>=0;i--){
   var tdObjs=trObjs[i].childNodes;
   var td_len=tdObjs.length;
   var col_size=0;
   for(var j=td_len-1;j>=0;j--){
   if(j>0){
   var td_value=tdObjs[j].innerText;
   var next_col_value=tdObjs[j-1].innerText;
   if(td_value==next_col_value){
   tdObjs[j-1].colSpan=tdObjs[j].colSpan+tdObjs[j-1].colSpan;
   tdObjs[j].removeNode();    }else{
   col_size+=tdObjs[j].colSpan;
   }
   }
   }
   }
  }
  </script>   
  </head>   
    
  <body>   
  <table   width="400"   border="1"   id="table1">   
      <tr>   
          <td>年度预算</td>   
          <td colspan="5">年度预算</td>   
      </tr>   
      <tr>   
          <td>年度预算</td>   
          <td colspan="3">第三季度</td>   
          <td>第三季度</td>   
          <td>第三季度</td>   
      </tr>   
      <tr>   
          <td>年度预算</td>   
          <td>1</td>   
          <td>2</td>
          <td>3</td>
          <td>第二季度</td>   
          <td>第三季度</td>   
      </tr>   
  </table>   
  <br>   
  <input   type="button"   value="合并表格"   onClick="marage()">   
  </body>   
  </html>