筛选jQuery选择的最快方法——返回数组

Fastest way to filter a jQuery selection's return array

本文关键字:方法 返回 数组 jQuery 选择 筛选      更新时间:2023-09-26

我正在寻找一个方法来过滤jQuery选择的返回数组

比如说,我有一个jQuery返回的元素数组

window.elementSet = $("element");

现在,我想过滤这个数组,只显示具有"car"类的元素,不需要重新设计选择器,所以

<罢工>window.elementSetOfCars = $("element.car");

由于返回值是一个元素数组,我们可以只使用.filter或.grep,或一个简单的for/while循环,其中我们使用. hasclass()或attr("class")或其他方法检查每个元素的类。

最快的方法是什么?

您可以这样做:

var elementSetOf = window.elementSet.filter(function(val,i,arr){
return (val.className.indexOf('car') >= 0);
});

但是,请记住,$(selector)的结果实际上不是一个数组,而是一个"类数组"对象,这意味着有很多数组方法&属性可以工作,但不是所有的。更多信息在这里