JS倒序删除节点

删节点用倒序删除.

比如说现有一个树有3个节点.
节点下标分别为0, 1, 2.

你用正序的话, 就是从0循环到2, 执行三次

第一次执行, 会删除下标为0的节点.
这个时候树剩下二个节点, 这二个节点自动向前补进一位.
从1, 2变成0, 1.

第二次执行的时候, 会删除下标为1的节点.
这个时候树剩下下标为0的节点.

第三次执行的时候, 会删除下标为2的节点.
但树里面没有下标为2的节点, 没完成删除操作.

循环结束, 树里面还剩下下标为0这个节点.

错误操作:
function del()
{
var del_id=id;
var del=document.body.getElementsByTagName("span");
for(k=1;k<del.length;k++)
{
del[k].parentNode.removeChild(del[k]);//这编写只删除第1,3,5,7,9
del[0].parentNode.removeChild(del[0]);//这编写只删除第1,2
}
}

正确操作:
function del()
{
var del_id=id;
var del=document.body.getElementsByTagName("span");
var len=del.length
for(var i=len-1 ;i >=0; i--)
{
del[i].parentNode.removeChild(del[i]); //全部删除
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值