我必须删除某些在表中有特定类的tr ..我尝试了下面的东西,但它似乎不起作用
var d1 = document.getElementsByClassName("t1");
for (var i = 0; i < d.length; i++) {
d1[i].parentElement.removeChild(d1[i]);
}
有人可以指导我朝正确的方向发展
<html>
<head>
<script type="text/javascript">
function removeTR (){
}
</script>
</head>
<body onload="javascript:removeTR()">
<table>
<tr >
<td></td>
</tr>
<tr class="t1">
</tr>
<tr class="t1">
</tr>
</table>
</body>
</html>
答案 0 :(得分:1)
你有一些拼写错误和另一个更基本的问题:你不能以这种方式迭代并同时删除getElementsByTagName返回的动态集合(实时NodeList)。
var d = document.getElementsByClassName("t1");
for (var i = 0; i < d.length; i++) {
d[i].parentElement.removeChild(d[i]);
}
在第二次迭代中,你会尝试删除索引1处的元素,但是仍然会有一个索引为0的元素,因此永远不会被删除。
解决方案就是:
var d = document.getElementsByClassName("t1");
while (d.length) d[0].parentElement.removeChild(d[0]);