这里这个lis里面本来有8,9,14三个元素,但是你们结合代码看看控制台里面只遍历了8和14,为什么9被跳过了?
因为你的list是动态改变了长度、
长度可以赋值给一个变量、用这个变量给for循环使用
可以拆开for循环看、
第一次i=0、length=3进循环、
删除了list[0]也就是你的8
第二次i=1、length=2了
list[1]也就是14
第三次就进不去循环了
用querySelectorAll
就可以解决这个问题。
getElementsByTagName
返回的是一个动态list
,也就是说你删除一个的话,list.length
就减少1
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
谢邀~
对数组(其实是nodelist)操作了, i还继续在增长 可不就跳过了.
这里就不用for循环了, 一个