2015-05-26 42 views
-2

我試圖追加一行到表。這是我試過的代碼無法通過javascript函數追加行

function load() { 
    for (var k = 0; k < 1; k++) { 

     var myTableDiv = document.getElementById("pID"); 
     var tableBody = document.getElementById("tBody"); 
     var table = document.getElementById('pTable'); 
     table.appendChild(tableBody); 
     for (var i = 0; i < 3; i++) { 
      var tr = document.getElementById('RiskRow'); 

      tableBody.appendChild(tr); 

      for (var j = 0; j < 1; j++) { 
       var element1= document.getElementById('RiskTD'); 
       var element2= document.getElementById('severityTD'); 
       var element3= document.getElementById('mitigationTD'); 
       var element4= document.getElementById('contingencyTD'); 
       var element5= document.getElementById('riskStatusTD'); 
       tr.appendChild(element1); 
       tr.appendChild(element2); 
       tr.appendChild(element3); 
       tr.appendChild(element4); 
       tr.appendChild(element5); 
      } 

     } 
     myTableDiv.appendChild(table); 
    } 
} 

但是這會導致只附加一行。我需要在for循環之後添加多行。林不知道我在哪裏堅持。

+0

你寫在statments:當k是從1 – user3227295

+0

小你不能給同一個ID的幾個要素。而且你用其他地方的元素填充行,所以除最後一行外的所有行都是空的。 –

+0

過去你也是html – ozil

回答

0

無論您在那裏存在多少循環(var k = 0; k < 1將始終執行一次...),您看到此行爲的原因是因爲您試圖反覆追加相同的元素。這將導致元素被移動,而不是被複制。

看一看document.cloneNode