使用removeChild时注意

        今天因为一个小问题确搞了好久,问题就出在removeChild上。根据项目的需要,之前动态添加的表单内容现在要动态的删除掉,我就想当然的使用document.getElementsByName()取到相应的表单内容给以个数组变量,然后根据这个数组变量的长度用一个for循环去removeChild。我认为很正常的程序变得很不正常,removeChild后的结果发现只能remove掉一般的对象,并且是remove的对象是间隔的,比如,remove掉了1、3、5、7.。。,而2、4、6.。。。。还是存在的。经过n小时的查错(俺笨),才找到原因,原来每remove掉一个对象后,第一个对象是去掉了,原来的document.getElementsByName()得到的集合中的第二个对象变成了第一个,以此类推。其length也-1了,所以我for第二次循环时实际移除的是一开始的第3个对象,后面以此类推。听得懂么???哈哈,反正我明白就行了。

想必对DOM更加熟悉的人不会犯这种低级错误,不过我还很“嫩”哈 哈哈哈哈 ,慢慢来吧

P.S:以后再通过循环使用removeChild时应该通过foreach来判断循环次数,这样就不会出错了。如果使用for的话,就每次都删第一个就ok了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值