http://blog.csdn.net/long_carol/article/details/7356897
//動態添加行與列 function addHtml( ) { var tab=document.getElementById("viewTabs"); //獲得表格 var colsNum=tab.rows.item(0).cells.length; //表格的列數 var num=document.getElementById("viewTabs").rows.length;//表格當前的行數 var rownum=num-1; tab.insertRow(rownum); for(var i=0;i<colsNum-1; i++) { tab.rows[rownum].insertCell(i);//插入列 tab.rows[rownum].cells[i].innerHTML="dfd"; } tab.rows[rownum].insertCell(i); tab.rows[rownum].cells[i].innerHTML="ddddkk"; } //動態刪除表格的行 function deleterow() { var lowNum; var num=document.getElementById("viewTabs").rows.length; alert(num); if(num==2) { lowNum=num-1; } var tb=document.getElementById("viewTabs"); tb.deleteRow(lowNum); } //創建表格的行與列 <script type="text/JavaScript"> function add_table(){var table = document.createElement("table");var tbody = document.createElement("tbody");var tr = document.createElement("tr");var td = document.createElement("td");var content = document.createTextNode("我是個表格.");td.appendChild(content);tr.appendChild(td);tbody.appendChild(tr);table.appendChild(tbody);document.body.appendChild(table);}</script></head><body onload="add_table();"></body></html> //刪除當前行 在當前的列中寫一個事件:如 <input type="text" id="btnCans" onclick="delRow(this)"/> function delRow(obj) { var Row=obj.parentNode; var Row=obj.parentNode; //tr while(Row.tagName.toLowerCase()!="tr") { Row=Row.parentNode; } Row.parentNode.removeChild(Row); //刪除行 }
方法2
http://www.cnblogs.com/wequst/archive/2010/02/02/1661709.html
inserRow()和insertCell()方法 首先,表格行索引從0開始。 inserRow(): 這個函數將新行添加到index的那一行前, 比如insertRow(0),是將新行添加到第一行之前。 默認的insertRow()函數相當於 insertRow(-1),將新行添加到表的最后。 objTable.insertRow (objTable.rows.length).就是為表格objTable在最后新增一行。 insertCell()和insertRow()的用法相同,這里就不再說了。 deleteRow()和deleteCell()方法 deleteRow(index):index從0開始 刪除指定位置的行和單元格。要傳入的參數:Index是行在表格中的位置,可以下面的方法取得然后去刪除: var row=document.getElementById("行的Id"); var index=row.rowIndex; //有這個屬性,嘿嘿 objTable.deleteRow(index); 注意: 刪除表格的行的時候,如果你刪除了某一行,那么表格行數是馬上就變化的 錯誤JS代碼: 復制代碼 function clearRow() { objTable= document.getElementById("myTable"); var length = objTable.rows.length for( var i=1; i<length ; i++ ) { tblObj.deleteRow(i); //應該是deleteRow(1)。因為在刪除表格行的時候,表格的行數在變化,這就是問題的關鍵,rows.length總是在變小,刪除的行數總是會比預想的要少一半 } } 復制代碼