我正在尝试对代码进行一些速度改进,我想知道哪种是更好/更快的访问DOM的方式。
我有一系列ID对应于< li>我想循环遍历它们并添加一个类。
我有两种方法: 1)遍历ids数组,按id获取元素并应用类
for(var i=0; i<idArray.length i++){
$('#'+idArray[i]).addClass('someclass')
}
2)提取DOM节点,缓存它然后循环遍历它,所以我只迭代DOM的一部分
var column=$('#my_ul');
for(var i=0; i<idArray.length i++){
column.find('#'+idArray[i]).addClass('someclass')
}
提前感谢您的帮助
答案 0 :(得分:1)
您可以使用以下方法避免循环:
$( "#" +idArray.join( ",#") ).addClass("someclass");
选择器将解析为:
"#" +["asd","dasd","daa"].join( ",#")
//"#asd,#dasd,#daa"
答案 1 :(得分:0)
选项1应该更快。但是,如果这些都是父母一方的孩子,那么将课程添加到父母可能是个好主意。