<SCRIPT LANGUAGE=javascript>
function delCol() {
try {
var Elm = event.srcElement;
while(Elm && Elm.tagName != "TR") {
Elm = Elm.parentElement;
}
if(Elm.parentElement.rows.length <= 1) {
alert("无法删除!");
return;
}
Elm.parentElement.deleteRow(Elm.rowIndex);
} catch(e) {
alert("Err 5001:\r\n" + e);
}
}
function addCol(id) {
try {
var oTable = document.getElementById(id);
if(oTable.tagName != "TABLE")
  alert("Err 5002");
var oList = oTable.children;
var oTBODY;
for(var i=0;i<oList.length;i++) {
if(oList[i].tagName == "TBODY") {
oTBODY = oList[i];
break;
}
}
var oTR = oTBODY.lastChild;
var newTR = oTR.cloneNode(true);
addId(newTR);
oTBODY.insertAdjacentElement("beforeEnd",newTR);
} catch(e) {
alert("Err 5002:\r\n" + e);
}
}
function addId(node) {
try {
if(!node.hasChildNodes()) {
var prefix = node.getAttribute("id").split("_")[0];
var postfix = node.getAttribute("id").split("_")[1];
postfix = parseInt(postfix) + 1;
node.setAttribute("id",prefix + "_" + postfix);
node.setAttribute("value","");
return;
}
} catch(e) {}
try {
var oList = node.childNodes;
for(var i=0;i<oList.length;i++) {
addId(oList[i]);
}
} catch(e) {
alert("Err 5003:\r\n" + e);
}
}
</SCRIPT>
<table width="100%" border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#000000" class="tableprintable" id="t1">
                <tr align="center" class="tdbg0"> 
                   <td class="tdbg0">1</td><td><button class="button" onClick="delCol()"> 
                    删除</button></td>
                </tr>
              </table>
              <button class="button" onClick="addCol('t1')">添加一行</button>
            </td>
          </tr>
        </table>

解决方案 »

  1.   

    objTrNode=document.createElement("TR")tableID.appendChild(objTrNode);
      

  2.   

    如果我要在一<body>中的兩個<table>之間加一個元素如又加一個<table>
    <body>
    <table name=table1><tr><td>test1</td></tr></table>
    <table name=table2><tr><td>test2</td></tr></table>現在我要在這兩個table中間加一table行不行,怎麼加???
      

  3.   

    <script>
    function insertElement()
        {
       var oNewItem = document.createElement("TABLE");
     oNewItem.outerHTML="<table><tr><td>testabc</td></tr></table>";
    var nod=document.createElement("SPAN");
    document.body.insertBefore(nod,table2);
    nod.innerText="A New bold object has been inserted into the thisdocument.";
    nod.innerHTML="<table border=1><tbody><tr><td>testabc</td></tr></tbody></table>";    }</SCRIPT>
    <table id=table1 border=1><tr><td>test1</td></tr></table>
    <table id=table2 border=1><tr><td>test2</td></tr></table>
    <DIV ID=Div1 onclick="insertElement();">
    Click here to insert a new bold element into this div.
    </DIV>以上可以做到間接的加,怎樣能直接的加???
    我用以下語句加不成功???
    document.body.insertBefore(oNewItem,table2);
      

  4.   

    对于TABLE的操作不同于一般的HTML页面元素,我想关键时TABLE的 innerHTML是只读的,比如insertBefore还是改写TABLE的innerHTML, 应该不会成功。动态增加TABLE的行用insertRow,其他方法包括moveRow,deleteRow,insertCell等。或者将整个TABLE重新生成。