其实就是操作DOM。下面的简单的例子:
<script>
function col()
{
if(event.srcElement.innerText=='删除整行')
{
document.all.mxh.childNodes(0).removeChild(event.srcElement.parentElement)
}
if(event.srcElement.innerText=='删除整列')
{
tmp=event.srcElement.cellIndex
for(var i=0;i<document.all.mxh.rows.length;i++)
if(document.all.mxh.rows(i).cells(tmp)) document.all.mxh.rows(i).removeChild(document.all.mxh.rows(i).cells(tmp))
}
if(event.srcElement.innerText=='合并单元格')
{
if((event.srcElement.cellIndex - 1) < 0 ) return
event.srcElement.parentElement.removeChild(event.srcElement.parentElement.cells(event.srcElement.cellIndex - 1))
event.srcElement.colSpan = "2"
}
}
</script>
<table id=mxh border="1" onclick="col()">
<tr>
<td>11</td><td>12</td><td>删除整列</td><td>删除整列</td><td>删除整行</td>
</tr>
<tr>
<td>21</td><td>22</td><td>23</td><td>24</td><td>删除整行</td>
</tr>
<tr>
<td>31</td><td>32</td><td>33</td><td>34</td><td>删除整行</td>
</tr>
<tr>
<td>31</td><td>32</td><td>33</td><td>34</td><td>合并单元格</td>
</tr>
</table>

解决方案 »

  1.   

    参考
    <table id="tbl" border="1" cellpadding="0" cellspacing="0">
    <tr><td>hello</td><td>world</td><td>hello</td><td>world</td></tr>
    <tr><td>hello</td><td><b>china</b></td><td>hello</td><td>china</td></tr>
    </table>
    <input type="button" value="merge 2nd row, 1,2,3 cells" onclick="merge(1,0,2)">
    <input type="button" value="merge 1nd row, 1,2 cells" onclick="merge(0,0,1)">
    <script language="javascript">
    function merge(nRow, nColStart, nColEnd)
    {
      var rows = tbl.rows;
      if (nRow < 0 || nRow >= rows.length)
    return;  var cells = rows[nRow].cells;
      if (nColStart < 0 || nColStart >= cells.length || nColEnd < 0 || nColEnd >= cells.length ||
    nColStart > nColEnd)
    return;   var s= "";
       for (var i=nColStart; i <=nColEnd; i++)
    s += cells[i].innerHTML + " ";   for (var i=nColStart; i <nColEnd; i++)
    rows[nRow].deleteCell(nColStart);   rows[nRow].cells[nColStart].colSpan = nColEnd - nColStart + 1;
       rows[nRow].cells[nColStart].innerHTML = s;
    }
    </script>
      

  2.   

    我想实现任意2相邻的单元格合并(限行列,不包括对角的),我的想法是先能纵向选择相邻单元格内容,同时不能把横向选择单元格内容的功能去掉,不限方法但最好用ondrag事件拖动选择的内容
      

  3.   

    请问
    我该如何用javascript实现添加一行
    行中也包括文本框