过滤jQuery选择的返回数组的最快方法

时间:2014-05-23 12:53:18

标签: javascript jquery arrays loops selector

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

让我们说,我有jQuery返回的元素数组:

window.elementSet = $("element");

现在,我想过滤这个数组,只显示带有“car”类的元素,不用重新设计选择器,所以

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

由于返回的值是一个元素数组,我们可以使用.filter,或.grep,或简单的for / while循环,我们用.hasClass()或attr(“class”)检查每个元素的类。 ),或者其他什么。

最快的方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

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

但是,请记住,$(selector)的结果实际上不是一个数组,而是一个&#34;类似数组的&#34;对象,意思是很多数组方法&amp;属性将起作用,但不是全部。 More info here