2013-11-12 6 views
0

У меня есть этот код здесь, что я пытаюсь сделать с JQuery, это получить общее количество элементов списка, начиная с 1 и найти, какой индекс slideshow_currentView класса.JQuery общего массива и найти индекс товара

Например , У меня есть 38 элементов, а slideshow_currentView - на элементе 7, я бы хотел отобразить 7/38, я совершенно новый в jquery, просто интересно, возможно ли это?

<div class="slideshow_pagination" style="display: block;"> 
<div class="slideshow_pagination_center"> 
<ul> 
<li class="slideshow_transparent slideshow_currentView"> 
    <span style="display: none;">0</span> 
</li> 
<li class="slideshow_transparent "><span style="display: none;">1</span></li> 
<li class="slideshow_transparent "><span style="display: none;">2</span></li> 
<li class="slideshow_transparent "><span style="display: none;">3</span></li> 
<li class="slideshow_transparent "><span style="display: none;">4</span></li> 
<li class="slideshow_transparent "><span style="display: none;">5</span></li> 
<li class="slideshow_transparent "><span style="display: none;">6</span></li> 
<li class="slideshow_transparent "><span style="display: none;">7</span></li> 
<li class="slideshow_transparent "><span style="display: none;">8</span></li> 
<li class="slideshow_transparent "><span style="display: none;">9</span></li> 
<li class="slideshow_transparent "><span style="display: none;">10</span></li> 
<li class="slideshow_transparent "><span style="display: none;">11</span></li> 
<li class="slideshow_transparent "><span style="display: none;">12</span></li> 
<li class="slideshow_transparent "><span style="display: none;">13</span></li> 
<li class="slideshow_transparent "><span style="display: none;">14</span></li> 
<li class="slideshow_transparent "><span style="display: none;">15</span></li> 
<li class="slideshow_transparent "><span style="display: none;">16</span></li> 
<li class="slideshow_transparent "><span style="display: none;">17</span></li> 
<li class="slideshow_transparent "><span style="display: none;">18</span></li> 
<li class="slideshow_transparent "><span style="display: none;">19</span></li> 
<li class="slideshow_transparent "><span style="display: none;">20</span></li> 
<li class="slideshow_transparent "><span style="display: none;">21</span></li> 
<li class="slideshow_transparent "><span style="display: none;">22</span></li> 
<li class="slideshow_transparent "><span style="display: none;">23</span></li> 
<li class="slideshow_transparent "><span style="display: none;">24</span></li> 
<li class="slideshow_transparent "><span style="display: none;">25</span></li> 
<li class="slideshow_transparent "><span style="display: none;">26</span></li> 
<li class="slideshow_transparent "><span style="display: none;">27</span></li> 
<li class="slideshow_transparent "><span style="display: none;">28</span></li> 
<li class="slideshow_transparent "><span style="display: none;">29</span></li> 
<li class="slideshow_transparent "><span style="display: none;">30</span></li> 
<li class="slideshow_transparent "><span style="display: none;">31</span></li> 
<li class="slideshow_transparent "><span style="display: none;">32</span></li> 
<li class="slideshow_transparent "><span style="display: none;">33</span></li> 
<li class="slideshow_transparent "><span style="display: none;">34</span></li> 
<li class="slideshow_transparent "><span style="display: none;">35</span></li> 
<li class="slideshow_transparent "><span style="display: none;">36</span></li> 
<li class="slideshow_transparent "><span style="display: none;">37</span></li> 
<li class="slideshow_transparent "><span style="display: none;">38</span></li> 
</ul> 
</div> 
</div> 
+0

'$ (селектор) .length' даст количество элементов. Вы можете использовать 'index' для получения текущей позиции. Или просто сохраните номер на элементах, чтобы получить его позже. – Red

ответ

2

Попробуйте это:

var total = 0; 
$("li").each(function(){ 
    var n = parseInt($(this).text()); 
    if(n > 0){ //check if element is greater than 0 
     total ++; 
    } 
}); 
var index = $(".slideshow_currentView").index()+1; //.index() gives index, starts from 0 
alert("total:"+total+" current:"+index); 

Fiddle here.

1

Попробуйте это:

$(document).ready(function() { 
    $ul = $('.slideshow_pagination_center ul li').hide(); 
    alert("Length : "+$ul.length); 
    $ul.each(function(){ 
     $(this).show(); 
     if ($(this).hasClass('slideshow_currentView')){ 
      alert("Index : "+$(this).find('span').text()); 
      return false; 
     } 
    }); 
}); 

Demo

Показать только li имеет класс slideshow_currentViewDemo

Смежные вопросы