筛选jQuery选择的最快方法——返回数组
Fastest way to filter a jQuery selection's return array
我正在寻找一个方法来过滤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)的结果实际上不是一个数组,而是一个"类数组"对象,这意味着有很多数组方法&属性可以工作,但不是所有的。更多信息在这里
相关文章:
- 从Javascript方法返回全局变量
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 修复AngularJS错误:提供程序必须从$get工厂方法返回值
- 从 javascript 中的对象方法返回一个对象
- 为什么我的Mongoose findAll方法返回500错误.
- 角度方法返回未绘制的代码
- 解析查询查找方法返回对象而不是数组
- Jquery Ajax调用没有't点击操作方法/返回整个HTML页面
- ajax方法返回错误时如何打印输出
- Meteor 方法返回客户端和服务器上的不同对象
- 如何将异步方法返回的值发送到javascript中的另一个异步方法
- Javascript getDay方法返回错误的数字
- Coffeescription类中的方法返回函数而不是字符串
- 当使用Q/promises/异步函数时,如何将一个值从一个类方法返回到另一个类
- find()方法返回具有不需要的属性的对象
- 如何在JSF中将toDataURL方法返回的画布内容作为图像存储在磁盘上
- 从请求.js请求方法返回结果
- jQuery的.children()方法返回'undefined'
- Angularjs 控制器在服务方法返回之前从服务中分配变量