JS 動態操作表格


 

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總是在變小,刪除的行數總是會比預想的要少一半
  }
}
復制代碼

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM