可以使用jQuery的过滤器,以便在找到第一个元素时停止搜索吗?

时间:2015-10-21 16:14:32

标签: jquery filter

根据索引找到以下元素。

var listDiv = $( "div[class*='item-title']" ).filter(function( index ) {
                    return index === curActiveItem
                  });

在这种情况下,似乎jQuery将继续搜索所选元素,因为索引已传入过滤器。

有没有办法使用":第一个"使用此示例,还是有更有效的方法来过滤项目?

1 个答案:

答案 0 :(得分:1)

如果您知道索引,那么您可以使用.eq获取该索引处的元素:

var listDiv = $( "div[class*='item-title']" ).eq(curActiveItem);
  

可以使用jQuery的过滤器,以便在找到第一个元素时停止搜索吗?

没有。但你可以用.each

来做到这一点
var listDiv = $();
$( "div[class*='item-title']" ).each(function() {
   if (someCondition) {
     listDiv = $(this);
     return false;
   }
});

或使用Array#some

$($( "div[class*='item-title']" ).get().some(function(element) {
   return someCondition;
}));