如何在每个循环中使用不同的第一个元素?

9

在each()循环中,是否可能特别处理第一个元素,而不是处理下一个元素?就像这样:

$( '.selector').each(function(){
    // if first element found, do something
});

3
为什么不使用 $('.selector').first() 而是要遍历整个集合? - Mike Brant
4个回答

12
$('.selector').each(function(i, el){
    if ( i === 0) {
       // Will be done to first element.
    }

});

2
第一个元素的值应该是0而不是1。 - Mike Brant
糟糕,我的错。已更新。 - void
因为答案是错误的,我现在已经将其删除了。 - Mike Brant

6
您可以通过检查索引来确定是否为第一个元素。
$('.selector').each(function(i, el) {
    if (i === 0) {
       // first element.. use $(this)
    }
});

另外,您还可以使用.first()方法访问循环之外的第一个元素:

$('.selector').first();

:first选择器也可以使用:

$('.selector:first');

1
我将是第一个元素的0,而不是1。 - Mike Brant

4
作为变体,可以这样做。
$( '.selector').each(function(index, element) {
   if (index === 0) {
      // if first element found, do something
   }
});

或者使用

$( '.selector:first')

Example


2
可能不够高效,但很简单:
$( '.selector').each(function(index){
  if (index === 0) {
    // first element found, do something
  }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接