2016-06-28 3 views
0

Я хочу получить следующее значение индекса в каждом цикле, если индекс последний (здесь он равен 2), принимает первое значение индекса.Как получить следующее значение индекса в jQuery

Так что я пробовал следующий код, но не работал.

keyword = 'on'; 
var nextitem = ''; 
$(".clsiteration").each(function(index, el) { 
    if ($(this).attr("src").toLowerCase().indexOf(keyword.toLowerCase()) > 0) { 
     if (index == 2) 
      nextitem = $(this).first().attr('data-val'); 
     else 
      nextitem = $(this).next().attr('data-val'); 
    } 
}); 

HTML

<div> 
     <img src="img_off.jpg" class="clsiteration" data-val="k1" > 
     <img src="img_on.jpg" class="clsiteration" data-val="k2" > 
     <img src="img_off.jpg" class="clsiteration" data-val="k3" > 
</div> 

Как я могу получить следующее значение индекса? Спасибо

+0

$ (это) .next() индекс() https://api.jquery.com/index/ –

+0

@ToniMichelCaubet если посмотреть на еще часть это там лол.:) – guradio

+0

@guradio Нет, я не вижу этого. –

ответ

0

Посмотрите на Snippet как next() работает в JQUERY.

$(function(){ 
 
keyword = 'k1'; 
 
var nextitem = ''; 
 
$(".clsiteration").each(function(index, el) { 
 
     if (index === 2){ 
 
      nextitem = $(this).closest("div").find("img:eq(0)").data('val'); 
 
      } 
 
     else { 
 
      nextitem = $(this).next().data('val'); 
 
      } 
 
    console.log(nextitem); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
     <img src="img_off.jpg" class="clsiteration" data-val="k1" > 
 
     <img src="img_on.jpg" class="clsiteration" data-val="k2" > 
 
     <img src="img_off.jpg" class="clsiteration" data-val="k3" > 
 
</div>