如何从<;中删除每三行;t车身>;只使用JavaScript?
我想删除此代码中的每第三行。 我怎么能做到? 谢谢你的回答 我试着这样做:如何从<;中删除每三行;t车身>;只使用JavaScript?,javascript,html,Javascript,Html,我想删除此代码中的每第三行。 我怎么能做到? 谢谢你的回答 我试着这样做: const table = document.getElementById('myTable'); for (let i =0; i <table.rows.length; i++) { if (i%3 === 0 ) { table.deleteRow(i) } } const table=document.getElementById('myTable'); 对于(设i=0;i问题在于,一旦
const table = document.getElementById('myTable');
for (let i =0; i <table.rows.length; i++) {
if (i%3 === 0 ) {
table.deleteRow(i)
}
}
const table=document.getElementById('myTable');
对于(设i=0;i问题在于,一旦您从表中删除一行,表的行。length属性将减少1,并且行的顺序也将更改。(因此,删除后,下三分之一将是与删除前不同的元素)
最好从最后一个元素迭代到第一个元素,如:
var myTable=document.getElementById(“myTable”);
对于(var a=myTable.rows.length-1;a>0;a--){
如果((a+1)%3==0){
myTable.deleteRow(a)
}
}
第一排。
第二排。
删除3
4排。
5排。
删除6
第一排。
第二排。
删除9
用于迭代所有行的选择
consttablerows=document.queryselectoral(“#mytable tr”)
数组.from(tableRows).forEach((行,i)=>{
如果((i+1)%3==0){
row.parentNode.removeChild(row);
}
})
一排。
2排。
删除3
4排。
5排。
删除6
7排。
8排。
删除9
您可以尝试以下方法:
var table=document.querySelectorAll('tbody tr');
for(让i=0;i)您的javascript代码有什么问题?使用类或id来标识要删除的trs将是一个更好的主意,并且更易于与css一起使用selector@PanosK,使用:n-child()
可以在不修改HTML的情况下完成这项工作。哦,真的很好!谢谢你,祝你愉快!任何你选择不使用.forEach()的原因。
从.queryselectoral()
返回的节点列表。@RandyCasburn,没有这样的原因,我只想坚持OP的代码……谢谢:)
<tbody>
<tr>
<td>First row.</td>
</tr>
<tr>
<td>Second row.</td>
</tr>
<tr>
<td>DELETE 3</td>
</tr>
<tr>
<td>4 row.</td>
</tr>
<tr>
<td>5 row.</td>
</tr>
<tr>
<td>DELETE 6</td>
</tr>
<tr>
<td>First row.</td>
</tr>
<tr>
<td>Second row.</td>
</tr>
<tr>
<td>DELETE 9</td>
</tr>
</tbody>