是这样的: for in 并不是你理解的那种遍历效果。
for in 遍历的不是数组,而是那个对象,也就是cbAll 这个对象,它遍历访问的每个值其实是cbAll的每个属性,而不是数组元素,不信你可以用
for(var i in cbAll){
alert(i);
}
来看看每个i到底是谁,肯定不是数组元素。
for 循环根据下标访问的才算真是的数组元素。
所以for in 和for 是有区别的。
并且,使用for in 的效率要远低于for循环哦
用for in 当然一个元素都找不到
子元素都是放在childNodes属性里的(一个NamedNodeMap对象)
另外getElementsByName("cb")返回的也是一个NamedNodeMap对象,不是Node
getElementByName("cb");
改为:
getElementsByName("cb");