除了某些具有特定ID的行外,我还可以删除所有行。
我做了以下的事情:
for(var y=0; y<table.rows.length; y++)
{
console.log("deleting row "+ y);
var initialRow=document.getElementById("initial-row");
if (table.rows[y].id!=initialRow)
{
table.deleteRow(y);
console.log("row deleted");
}
else continue;
}
但是这没用。有什么建议? 修改 这是HTML表格:
<table align='center' cellspacing=1 cellpadding=1 id="data-table" border=1>
<tr id="head">
<th>Name</th>
<th>Type</th>
<th>Action</th>
</tr>
<tr id="initial-row">
<td><input type="text" id="text-field"></td>
<td>
<select name="levels-list" id="levels-list">
<option value="A" id="option-1">A</option>
<option value="B" id="option-2">B</option>
<option value="C" id="option-3">C</option>
</select>
</td>
<td><input type="button" class="add" id="add-button" value="Add"></td>
</tr>
</table>
我在javascript中动态添加行。然后,我需要删除一行,并刷新整个表,因为添加的行ID是动态的。为了刷新表,我想删除除了最初在HTML页面中的标题和初始行之外的所有旧行。无法正确执行此操作。
答案 0 :(得分:2)
您正在将元素id(字符串)与DOM元素对象进行比较。您可以删除getElementById调用,只需执行以下操作:
if (table.rows[y].id!="initial-row")