jQuery .each()索引?


102

我在用

$('#list option').each(function(){
//do stuff
});

遍历列表中的选项。我想知道如何获取当前循环的索引?

因为我不想让var i = 0; 在循环内部有i ++;

Answers:


181
$('#list option').each(function(index){
  //do stuff
  console.log(index);
});

记录索引:)

下面是一个更详细的示例。


1
而且,例如,不是function( value | element, index | key )等效的本机方法forEach和其他所有流行的API。
巴尼(Barney)2013年

5
通常,使用console.log进行调试比警报更好。大选项列表将使您的窗口堆栈崩溃并发出警报。
MarkokraM 2015年

function(index | key , value | element ) 有效吗?
环球先生

28

jQuery会为您解决这个问题。.each()回调函数的第一个参数是循环当前迭代的索引。第二个是当前匹配的DOM元素因此:

$('#list option').each(function(index, element){
  alert("Iteration: " + index)
});

12

jQuery.each()文档中

.each( function(index, Element) )
    function(index, Element)A function to execute for each matched element.

因此,您需要使用:

$('#list option').each(function(i,e){
    //do stuff
});

...其中index为索引,element为list中的option元素



3
$('#list option').each(function(intIndex){
//do stuff
});
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.