相关疑难解决方法(0)

getElementsByClassName vs querySelectorAll

如果我使用

var temp = document.querySelectorAll(".class");
for (var i=0, max=temp.length; i<max; i++) { 
 temp[i].className = "new_class";
}
Run Code Online (Sandbox Code Playgroud)

一切正常.所有节点都会更改其类.但是,有了gEBCN:

var temp = document.getElementsByClassName("class");
for (var i=0, max=temp.length; i<max; i++) { 
 temp[i].className = "new_class";
}  
Run Code Online (Sandbox Code Playgroud)

我收到错误.代码在某个时刻跳出循环,而没有用msg"无法设置className of null"完成作业.
我知道这是静态vs live nodelist问题(我认为),但由于gEBCN要快得多,我需要遍历庞大的节点列表(树),我真的想使用getElementsByClassName.
我有什么办法可以坚持使用gEBCN而不是被迫使用querySelectorAll吗?

javascript

10
推荐指数
2
解决办法
5151
查看次数

标签 统计

javascript ×1