js动态合并单元格(指定的列或之间列)

这段代码展示了如何使用JavaScript动态地合并HTML表格中的单元格。通过设置`maxCol`变量,可以指定要合并的列数。代码遍历表格行,检查同一列中的单元格内容是否相同,若相同则进行合并,将`rowSpan`属性设置为重复次数,并隐藏多余的单元格。此方法适用于处理固定列的合并需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

window.onload = function(){
   
 var tab = document.getElementById("myTable");//myTable为你的table的id
   
 var maxCol = 3, val, count, start;  //maxCol:合并单元格作用到多少列    
   
 for(var col = maxCol-1; col >= 0 ; col--){//如果想合并固定的列 将for循环换成if语句 变量col=你要合并的列的序号
        count
 = 1;
        val
 = "";
       
 for(var i=0; i<tab.rows.length; i++){
           
 if(val == tab.rows[i].cells[col].innerHTML){
                count
++;
            }
else{
               
 if(count > 1){ //合并
                    start = i - count;
                    tab.rows[start].cells[col].rowSpan
 = count;
                   
 for(var j=start+1; j<i; j++){
                        tab.rows[j].cells[col].style.display
 = "none";
                    }
                    count
 = 1;
                }
                val
 = tab.rows[i].cells[col].innerHTML;
            }
        }
       
 if(count > 1 ){ //合并,最后几行相同的情况下
            start = i - count;
            tab.rows[start].cells[col].rowSpan
 = count;
           
 for(var j=start+1; j<i; j++){
                tab.rows[j].cells[col].style.display
 = "none";
            }
        }
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值