我基本上得到了一个名为 findItem()
的小函数这应该是根据自定义 data-
找到我正在寻找的元素元素上的属性。
在这种情况下,这些都是纯数字,例如。 data-slide=1
.
对于如何将每个项目的数据幻灯片的值与另一个数组中包含的值相匹配,我有点无能为力。
这是一个更具体的例子:
function findItem(count) {
var collection = [];
$.each(allMyLiItems, function(i, item) {
if ( $(item).data('slide') == count ) {
collection.push(item);
}
});
return $(collection);
}
findItem([1,3])
这不起作用,因为 count
在 if 语句中似乎没有匹配任何内容。
该页面确实包含 4 <li data-slide="{number}">…
元素,所以 1,3 应该返回这些元素的第一个和第三个。
我在这里做错了什么?
最佳答案
使用jQuery.grep
和 jQuery.inArray
:
function findItem(items) {
return jQuery.grep($('li'), function(element, index) {
return jQuery.inArray($(element).data('slide'), items) != -1;
});
}
关于javascript - jQuery:我如何循环遍历一组元素,只找到那些与另一个数组中的值匹配的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4191411/