checkDemo
-
test
-
test
-
test
-
test
-
test
加上getDom[i].className="icon-ok-sign"这行console.log(i)输出的是0-2三个数
不加getDom[i].className="icon-ok-sign"这行console.log(i)输出的是0-4五个数,把getElementsByClassName换成getElementsByTagName又一切正常!
这是什么情况?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
getElementsByTagName和getElementsByClassName其实一样都是动态的,而由于你是改变了ClassName才会导致你遇到的问题;
简单的说一点就是
因为你是依照classname找的元素啊!忘记在哪看到的了,getElementBy找到元素是动态的,元素改变会导致对应的结果改变(这句话出处不好找了,记得是好久之前看到的)。就比如把for循环去掉,只执行一次的话,getDom数组里的元素就只剩下四个了。所以这个for循环只会执行三次。