jQuery优化有效的过滤,然后添加类到多个元素
jQuery optimize efficient for filtering then adding class to multiple element
给定一个元素列表,我需要通过一些属性进行过滤,并为符合条件的元素添加一个类。
由于数据集可能很大,我只是想知道是否一种方法比另一种方法快
假设listOfElement
是给定的,由许多元素组成我还想返回每个符合条件的元素的值
for(var i = 0; i < listOfElement.length ; i ++){
if ( testing condition ) {
$(listOfElement[i]).addClass("blah");
selected.push(listOfElement[i];
}
}
方法2:selected = listOfElement.filter(...);
$(selected).addClass("blah")
我想知道$
选择操作和addClass
操作的性能成本。如果有人能给我指出一些JavaScript指南的文档,以获得更好的性能(例如,使用隐藏/显示比插入/删除DOM更快),那就太好了
原生JavaScript通常(如果不是总是)比jQuery更快,因为jQuery涉及到$
对象的创建。
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
});
您可能会对这个jsPerf感兴趣。
相关文章:
- 如何将html元素添加到tampermonkey中
- 如何将html元素添加为生成的内容
- 如何向Selectize元素添加渲染和创建方法
- 向html选择元素添加选项
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 如何将新的键/值对元素添加到现有数组
- 使用docment.createElement向元素添加选项
- ng重复向一个元素添加条件类
- 为li元素添加标题
- 向ckeditor中的多个元素添加内联样式
- Javascript 向影子根中的自定义元素添加函数
- 将伪元素添加到<文本区域>
- 如果类只包含一个特定数字,则向元素添加类
- DOM:将空元素添加到 DOM 和页面重排
- 是否有 jQuery 事件用于何时将元素添加到文档中
- 通过 ajax 使用自定义滚动条向元素添加内容
- 是否可以用D3将svg元素添加到开放层映射中
- 如何将元素添加到动态数组并排除现有元素
- 在AngularJS中将元素添加到作用域时,如何在所有设备上播放声音
- 将图像元素添加到<a>标签