2016-11-01 120 views
0

我一直困在這個愚蠢的問題幾天了。我想這不是複雜的,但我可能需要別人的幫助...刪除表中動態生成的行

這是事情:我從我的html頁面中的空表開始。只有頭部有列的名稱。然後,我得到的JSON數據感謝PHP和我通過創建一個新的行和新的細胞填充我的表如下:

for (var j = 0; j < jsonVal.length; j++){ 
      var tr = table.insertRow(-1); 
      tr.insertCell(-1).innerHTML = "<img src=\"" + jsonVal[j].image + "\">"; 
      tr.insertCell(-1).innerHTML = jsonVal[j].name; 
      tr.insertCell(-1).innerHTML = jsonVal[j].rating; 
     }; 

現在,所有我想要做的是根據一些參數來更新這個表(按名稱或評級排序,只有5行等......) 要這樣做,我想要刪除我現在必須使用新數據的所有行。但我找不到刪除它們的方法。這裏是我的代碼刪除:

var currentTable = document.getElementsByTagName("table")[0]; 
var rowCount = currentTable.rows.length; 
for(var i = 1; i < rowCount; i++){ 
    currentTable.deleteRow(i); 
} 

我得到以下錯誤:

IndexSizeError: Index or size is negative or greater than the allowed amount

是正確的方式做到這一點? PS:抱歉這麼長時間的解釋。

回答

0

我不好,我只需要改變我對1在我的for循環如下:

var currentTable = document.getElementsByTagName("table")[0]; 
var rowCount = currentTable.rows.length; 
for(var i = 1; i < rowCount; i++){ 
    currentTable.deleteRow(1); 
}