用JS添加行和列后合并单元和,怎么弄?在线等

LHLZMXFH 2013-04-26 09:39:31
例如
for(var i=0;i<3;i++)
{
var newRow=ceshi.insertRow();
newCell=newRow.insertCell(-1);
newCell.innerText="refName";
newCell=newRow.insertCell(-1);
newCell.innerText="refName";
newCell=newRow.insertCell(-1);
newCell.innerHTML="refName"
}
我循环了3次。想把第一列的三行合并单元格,应该怎么弄,要详细的代码
...全文
152 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
风一样的大叔 2013-04-26
  • 打赏
  • 举报
回复
window.onload = function(){
    var tab = document.getElementById("datatable");
    var name,rid
    name  ="",rid=0;
    count = 1;
    for(var i=1; i<tab.rows.length; i++){
        if(name == tab.rows[i].cells[1].innerHTML ){
            count++;
        }else{
            if(count > 1){ //合并
                start = i - count;
                tab.rows[start].cells[1].rowSpan  = count;
tab.rows[start].cells[0].rowSpan  = count;
                for(var j=start+1; j<i; j++){
                    for(var k=0; k<2; k++){
                        tab.rows[j].removeChild(tab.rows[j].cells[0]);
                    }
                }
                count = 1;	

tab.rows[i].cells[0].innerHTML=rid; 
rid=parseInt(rid)+1;
            }/*else if(count == 1){
tab.rows[i].cells[0].innerHTML=rid; 
rid=parseInt(rid)+1;
}*/
            name = tab.rows[i].cells[1].innerHTML;    
 
        }
    }
    
}; 
functionsub 2013-04-26
  • 打赏
  • 举报
回复

        for(var i=0;i<3;i++) {
            var newRow=ceshi.insertRow();
            newCell = newRow.insertCell(0);
            newCell.innerHTML="refName1";
            newCell = newRow.insertCell(1);
            newCell.innerHTML="refName2";
            newCell = newRow.insertCell(2);
            newCell.innerHTML="refName3"
        }
        function uniteCell(row,from,to){//row行号,from从第几个开始个兵,to合并到第几个,没有的话默认最后
            var len = ceshi.rows[row].cells.length;
            to = to || len - 1;
            var curRow = ceshi.rows[row];
            while(second = ceshi.rows[row].cells[from+1] ){
                curRow.cells[from].innerHTML += second.innerHTML;
                curRow.removeChild(second);
            }
            curRow.cells[from].setAttribute('colSpan',to-from+1);
        }
        uniteCell(0,0);
        uniteCell(1,1);
给你写了个小函数,只能合并横向的,纵向的没去研究。

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧