jquery按id获取或缓存dom节点并查找(id)

jquery按id获取或缓存dom节点并查找(id),jquery,performance,dom,iteration,Jquery,Performance,Dom,Iteration,我正在尝试对我的代码进行一些速度改进,我想知道哪种访问DOM的方式更好/更快 我有一个对应于的id数组,我想循环它们并添加一个类 我有两种方法: 1) 循环通过ids数组,按id获取元素并应用该类 for(var i=0; i<idArray.length i++){ $('#'+idArray[i]).addClass('someclass') } for(var i=0;i选项1应该更快。但是,如果这些都是父级的子级,则最好将类添加到父级。可以使用以下

我正在尝试对我的代码进行一些速度改进,我想知道哪种访问DOM的方式更好/更快

我有一个对应于
  • 的id数组,我想循环它们并添加一个类

    我有两种方法: 1) 循环通过ids数组,按id获取元素并应用该类

        for(var i=0; i<idArray.length i++){
           $('#'+idArray[i]).addClass('someclass')
         }
    

    for(var i=0;i选项1应该更快。但是,如果这些都是父级的子级,则最好将类添加到父级。

    可以使用以下方法避免循环:

     $( "#" +idArray.join( ",#") ).addClass("someclass");
    
    选择器将如下所示:

    "#" +["asd","dasd","daa"].join( ",#") 
    //"#asd,#dasd,#daa"
    

    您可以自己测试:您应该亲自查看并测试它,或者看看jQuery如何处理它。是的,这是一个好主意,在我的情况下,li是父类,所以我在那里添加了类。谢谢
    "#" +["asd","dasd","daa"].join( ",#") 
    //"#asd,#dasd,#daa"