我正在寻找一种方法来过滤jQuery选择的返回数组。
让我们说,我有jQuery返回的元素数组:
window.elementSet = $("element");
现在,我想过滤这个数组,只显示带有“car”类的元素,不用重新设计选择器,所以
<击>
window.elementSetOfCars = $("element.car");
击>
由于返回的值是一个元素数组,我们可以使用.filter,或.grep,或简单的for / while循环,我们用.hasClass()或attr(“class”)检查每个元素的类。 ),或者其他什么。
最快的方法是什么?
答案 0 :(得分:2)
您可以执行以下操作:
var elementSetOf = window.elementSet.filter(function(val,i,arr){
return (val.className.indexOf('car') >= 0);
});
但是,请记住,$(selector)的结果实际上不是一个数组,而是一个&#34;类似数组的&#34;对象,意思是很多数组方法&amp;属性将起作用,但不是全部。 More info here