js 怎么样合并单元格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 怎么样合并单元格相关的知识,希望对你有一定的参考价值。

function SpanGrid(tabObj,colIndex)
if(tabObj != null) var i,j; var intSpan; var strTemp; for(i = 0; i < tabObj.rows.length; i++) intSpan = 1; strTemp = tabObj.rows[i].cells[colIndex].innerText; for(j = i + 1; j < tabObj.rows.length; j++) if(strTemp == tabObj.rows[j].cells[colIndex].innerText) intSpan++; tabObj.rows[i].cells[colIndex].rowSpan = intSpan; tabObj.rows[j].cells[colIndex].style.display = "none"; else break; i = j - 1;
参考技术A 1

js动态添加行怎么合并单元格

参考技术A colspan, rowspan

参考技术B 一般考官都喜欢考这个问题
最能体现你的基本功,的确要用到colspan,rowspan,但是关键的dom的一些操作
如果单独colspan,rowspan,表格会变形
给你个例子吧!我自己写的,图方便,只合并了固定的单元格,自己改吧!
<html>
<head>
<title>table operation</title>

</head>
<body>
<table id='newtable'>
</table>
<table id='table'>
<tr><td><button onclick="insRow();">insert row </button></td><td><button onclick="deleteRow();">delete row</button><input type="text" id='index'/></td></tr>
<tr><td><button onclick="insertCell();">insert cell</button></td><td><button onclick="deleteCell();">delete cell</button><button onclick="merge();">merge</button></td></tr>

</table>
</body>
<html>
<script>
newtable=document.getElementById('newtable');
newtable.border="1px";
newtable.width="500px";
for (i=1;i<10;i++)

row=document.createElement('tr');
row.id=i;
for (j=1;j<10;j++)

cell=document.createElement('td');
cell.id=i+"/"+j;
cell.innerHTML=cell.id;
row.appendChild(cell);
newtable.appendChild(row);
function insRow()
row_length=newtable.rows.length;
newrow=document.createElement('tr');
newrow.id=row_length+1;
for (var i=1;i<10;i++)
var newcell=document.createElement('td');
newcell.innerHTML=newrow.id+'/'+i;
newrow.appendChild(newcell);

newtable.appendChild(newrow);

function deleteRow()
//alert(newtable.rows[4].rowIndex);
var index=document.getElementById('index').value-1;//ie,chrome得到-1;
if(index!=-1&&newtable.rows.length>index)newtable.deleteRow(index);//firefox 能得到rowIndex;ca!

document.onclick=function(e)
//alert('ok');
var evt=e||window.event;
var target=evt.srcElement||evt.target;
//alert(target.tagName);
if(target.parentNode&&target.parentNode.parentNode&&target.parentNode.parentNode.id&&target.parentNode.parentNode.id.toLowerCase()=='newtable')
document.getElementById('newtable').removeChild(target.parentNode);
function merge()
var beginrow=3;
var endrow=5;
var begincell=5;
var endcell=10;
rowspan=endrow-beginrow+1;
cellspan=endcell-begincell+1;
for (var i=endrow;i>=beginrow;i--)
for (var j=endcell;j>=begincell;j--)

if (i==beginrow&&j==begincell)else//指定的起始单元格不能删除
//var row=i;
//var col=j;
//alert(i+':'+j);
if(document.getElementById(i+'/'+j)!=null)elem=document.getElementById(i+'/'+j);elem.parentNode.removeChild(elem);


var obj=document.getElementById(beginrow+'/'+begincell);
obj.setAttribute('rowspan',rowspan);
obj.setAttribute('colspan',cellspan);

</script>本回答被提问者和网友采纳

以上是关于js 怎么样合并单元格的主要内容,如果未能解决你的问题,请参考以下文章

js动态添加行怎么合并单元格

JS实现合并div单元格

c# tableLayoutPanel 合并单元格后出来多余的线怎么处理

在excel中怎么合并单元格?

C#DataGridView怎么合并单元格

在excel里面单元格合并后筛选时为啥只能显示第一行,剩下的为啥显示不出来,怎么操作?