Всего массива JQuery и найти элемент индекса

0

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

Например, у меня есть 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
    $(selector).length даст количество элементов. Вы можете использовать index чтобы получить текущую позицию. Или просто сохраните номер на элементах, чтобы получить его позже.
Теги:
arrays
find

2 ответа

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);

Заклинай здесь.

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_currentView Demo

Ещё вопросы

Сообщество Overcoder
Наверх
Меню