Когда вы просматриваете результаты с помощью $ .each, как вы ссылаетесь на индекс текущей итерации? - PullRequest
3 голосов
/ 05 ноября 2010

Если я зацикливаюсь на результатах вызова 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 ]

7 голосов
/ 05 ноября 2010

Первый параметр для обратного вызова $.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 голос
/ 05 ноября 2010
  $.each(data.results, function(loopIndex) {
     .....

, как показано в документации jQuery.each.

0 голосов
/ 05 ноября 2010

Вот еще один пример

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;
          });
}
0 голосов
/ 05 ноября 2010

попробуйте следующее:

$.each(data.results, function(index) {
    // what's the index of this iteration?
    alert(index);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...