1. 程式人生 > >js如何動態新增表格行

js如何動態新增表格行

 

>  一、總結(點選顯示或隱藏總結內容)

1、table元素有屬性和一些方法(js使用)

方法一:新增可通過在table的innerHTML屬性中新增tr和td來實現

tab.innerHTML+='<tr style="background: green"><td>新增01</td><td>新增02</td><td>新增03</td></tr>'

方法二:通過table的屬性insertRow(),deleteRow()來實現

var tradd=tab.insertRow(4)  返回值是表格行元素

方法一和方法二對比:

相同點:

都是給元素增加innerHTML

不同點:

方法二靈活超級多:方法一是給table增加innerHTML,方法二是給行元素增加innerHTML,當然方法二要靈活的多

二、js如何實現動態的在表格中新增和刪除行?

1、插入刪除行案例說明

  • 例項描述:

    動態的插入刪除行以及表格標題等

  • 案例要點:

    掌握table物件的insertRow(),deleteRow(),createCaption(),deleteCaption()等方法。

2、用到table相關的屬性和方法

Table 物件方法

  • createCaption() 為表格建立一個 caption 元素。
  • createTFoot() 在表格中建立一個空的 tFoot 元素。
  • createTHead() 在表格中建立一個空的 tHead 元素。
  • deleteCaption() 從表格刪除 caption 元素以及其內容。
  • deleteRow() 從表格刪除一行。
  • deleteTFoot() 從表格刪除 tFoot 元素及其內容。
  • deleteTHead() 從表格刪除 tHead 元素及其內容。
  • insertRow() 在表格中插入一個新行

三、程式碼

  <!DOCTYPE html>
  <html lang="en">
  <head>
      <meta charset="UTF-8">
      <title>表格專題</title>
  </head>
  <body>
      <table id="tab" border="1">
      <caption>表格名稱</caption>
    <thead>
         <tr>
             <th colspan="3">標題1</th>
         </tr>
     </thead>
     <tbody>
         <tr>
             <td>單元格11</td>
             <td>單元格12</td>
             <td>單元格13</td>
         </tr>
         <tr>
             <td>單元格21</td>
             <td>單元格22</td>
             <td>單元格23</td>
         </tr>
         <tr>
             <td>單元格31</td>
             <td>單元格32</td>
             <td>單元格33</td>
         </tr>
         </tbody>
         <tfoot><td>備註:</td><td colspan="2"></td></tfoot>
     </table>
     <p><input type="button" value="增加行" onclick="addtr()">
     <input type="button" value="刪除行" onclick=""></p>
     <p><input type="button" value="刪除標題" onclick="">
     <input type="button" value="新增標題" onclick=""></p>
     <script type="text/javascript">
     /*
         var tab=document.getElementById('tab') //獲取表格元素
         var rows=tab.rows; //返回包含表格中所有行的一個數組。
         cells=rows[1].cells //某一行的單元格
         alert(rows[1].cells[2].innerHTML)
         rows[1].cells[2].innerHTML='資料13';
         rows[1].cells[2].style.color='red'
         */
         /*
     //增加行的方法1
    function addtr(){
         var tab=document.getElementById('tab');
         tab.innerHTML+='<tr style="background: green"><td>新增01</td><td>新增02</td><td>新增03</td></tr>'
     }
     // addtr()
     // addtr()
     */
     //增加行的方法2
      //更加的靈活
     function addtr(){
         var tab=document.getElementById('tab');
         var tradd=tab.insertRow(4)
         tradd.style.background='green'
         tradd.innerHTML='<td>新增01</td><td>新增02</td><td>新增03</td>'    
     }
     tab.deleteRow(0)
     tab.deleteRow(0)
     </script>
 </body>
 </html>

複製程式碼