使用$ .each循环结果时,如何引用当前迭代的索引?

时间:2010-11-05 12:18:57

标签: jquery loops iterator

如果我循环访问JSON调用的结果,我怎么知道我是否在第一次迭代?

在这个例子中,我编写了loopIndex变量来表示我正在寻找的东西 - 但它实际上并没有在任何地方设置。

你怎么知道你在循环中的位置 - 你在哪个迭代?

$.getJSON(myurl, function(data) {
  $.each(data.results, function() {
     // what's the index of this iteration?
     if(loopIndex==0){
      console.log("first iteration!");
     }

  });
});

4 个答案:

答案 0 :(得分:7)

$.each()回调的第一个参数是索引,如下所示:

$.getJSON("http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsSearch?term=paparazzi+lady+gaga&callback=?", function(data) {
  $.each(data.results, function(i, item) {
     if(i==o) {
       console.log("first iteration!");
     }
  });
});

.Query.each()的签名是:

jQuery.each(collection, callback(indexInArray, valueOfElement))

答案 1 :(得分:1)

  $.each(data.results, function(loopIndex) {
     .....

documentation of jQuery.each

所示

答案 2 :(得分:0)

尝试以下:

$.each(data.results, function(index) {
    // what's the index of this iteration?
    alert(index);
});

答案 3 :(得分:0)

这是另一个例子

function emailform(rtndata) {
         $.each(rtndata.products, function (i, product) {
             $("<img/>").attr({
                   src: product.imageLargeUrl,
                   title: product.name,
                   width: 100,
                   height: 100
             }).appendTo(".images");
           $('.question').html(rtndata.title);
           if (i == 1) return false;
          });
}