首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery优化过滤效率,然后将类添加到多个元素

jQuery优化过滤效率,然后将类添加到多个元素
EN

Stack Overflow用户
提问于 2014-07-20 16:19:39
回答 1查看 194关注 0票数 0

给定一个元素列表,我需要根据一些属性进行过滤,并向符合条件的属性中添加一个类。

由于数据集可能很大,我想知道其中一种方法是否比另一种方法更快

假设给定了listOfElement并由许多元素组成,我还想返回每个限定元素的值

方法1:

代码语言:javascript
复制
for(var i = 0; i < listOfElement.length ; i ++){
    if ( testing condition ) {
        $(listOfElement[i]).addClass("blah");
        selected.push(listOfElement[i];
    }
}

方法二:

代码语言:javascript
复制
selected = listOfElement.filter(...);
$(selected).addClass("blah")

我想知道$选择操作和addClass操作的性能成本。如果有人能为我提供一些JavaScript指南的文档以获得更好的性能(例如,使用隐藏/显示比插入/删除DOM更快),那就太好了

EN

回答 1

Stack Overflow用户

发布于 2014-07-20 16:25:54

原生JavaScript通常比jQuery快,因为jQuery涉及到$对象的创建。

代码语言:javascript
复制
var selected = listOfElement.filter(function (item) {
    // ...
});

// Add class
selected.forEach(function (item) {
    item.classList.add('blah'); 
    // If you need to support IE 9 or lower:
    // item.className += ' blah'; // note the space in front of the class name
});

您可能会对This jsPerf感兴趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24848645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档