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

标签 javascript jquery arrays loops selector

我正在寻找一种方法来过滤 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) 的结果实际上不是一个数组,而是一个“类似数组”的对象,这意味着很多 Array 方法和属性都可以工作,但不是全部。 More info here

关于javascript - 过滤 jQuery 选择的返回数组的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23829812/

相关文章:

javascript - 为移动应用柏树或鸦片测试自动化工具之间有何更好的选择?

javascript - 逐节滚动

c++ - 数组中所有元素之间的逻辑运算

arrays - 检查值是否在数组中作为字典值?

javascript - UI Angular Bootstrap typeahead 隐藏第一个选项

ruby - 动态解构 Ruby block 参数

Javascript/Jquery 序列不起作用

javascript - asp.net mvc5 设置页面刷新后的字体大小

javascript - Javascript 正则表达式是否包含隐式 ^?

javascript - jquery - 检查 URL 上是否存在查询字符串?