关于getElementByClassName遍历问题

https://img3.mukewang.com/5bed1ce90001983f04770751.jpg

加上getDom[i].className="icon-ok-sign"这行console.log(i)输出的是0-2三个数

https://img2.mukewang.com/5bed1d07000118c407220153.jpg

不加getDom[i].className="icon-ok-sign"这行console.log(i)输出的是0-4五个数,把getElementsByClassName换成getElementsByTagName又一切正常!

https://img.mukewang.com/5bed1d0f0001880f07240162.jpg

这是什么情况?


紫衣仙女
浏览 1218回答 1
1回答

Smart猫小萌

getElementsByTagName和getElementsByClassName其实一样都是动态的,而由于你是改变了ClassName才会导致你遇到的问题;简单的说一点就是getDom一开始是5个,改变了第一个之后,class为icon-ok-circle就只有4个了,然后原本getDom[1]就成为后一步操作中的getDom[0],但此时for循环的i值已经变为1,所以他改变的是之前2位置的,所以会出现隔一个改变的情况
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript