如何获取jQuery中每个()循环的当前迭代?

时间:2011-07-09 15:41:20

标签: javascript jquery

        $('#selectDropDowns select').each(function() {

            // do usual stuff

            // do extra stuff only if this is the 4th iteration

        });

为了在第4次迭代中完成额外的工作,我该如何检测呢?

6 个答案:

答案 0 :(得分:3)

        $('#selectDropDowns select').each(function(i) {

            // do usual stuff
            if (i==3)
            {
              // do extra stuff only if this is the 4th iteration
            }

        });

答案 1 :(得分:2)

传递给each(..)的函数可以带两个参数 - 索引和元素。这是您打开文档时首先看到的内容:

 .each( function(index, Element) )

所以:

 $('#selectDropDowns select').each(function(i) {
      if (i == 3) ...
 });

答案 2 :(得分:1)

像这样:

$('#selectDropDowns select').each(function(index, element) {
    // index represents the current index of the iteration
    // and element the current item of the array        
});

答案 3 :(得分:0)

$('#selectDropDowns select').each(function(index) {

    // do usual stuff
  if(index ==3){
    // do extra stuff only if this is the 4th iteration
  }
});

工作示例:http://jsfiddle.net/SgMuJ/1/

答案 4 :(得分:0)

使用$(this)...

    $('#selectDropDowns select').each(function(i, val) {
        //Zero-index based thus to grab 4th iterator -> index = 3
        if (i == 3) {
             alert($(this).attr('id'));
        }

    }

请注意,您还可以在.each函数声明中获取元素的索引和值。

答案 5 :(得分:0)

如果您在使用eq()时无需循环播放。

$('#selectDropDowns select').eq( 3 );