Индекс соответствия элементов в родительском элементе, даже если они находятся в других дочерних контейнерах

Мне нужно получить индекс li.play, относящийся к ul.showreel_thumbnails. Это вообще возможно? Все, что я, кажется, получаю, это индекс li внутри ul.row

<ul class="showreel_thumbnails">
    <li>
      <ul class="row">
        <li class="play_video">item</li>
        <li class="play_video">item</li>
        <li class="play_video">item</li>
      </ul>
   </li>
    <li>
       <ul class="row">
       <li class="play_video">item 4</li>
       <li class="play_video">item</li>
       </ul>
    </li>
</ul>

поэтому, если щелкнуть пункт 4, он должен дать мне индекс 4 и т. д.

лучше всего, Дэн.

1 ответ

Решение

Это может быть недействительный HTML, но вот как это будет работать (с JQuery):

function FindMyCount()
{
    var item_count = 0;
    $("#showreel_thumbnails li").each(function() {
        ++item_count;
        if($(this).hasClass("igotclicked"))
            return false;
    });
    return item_count;
}

$("#showreel_thumbnails li").click(function() {
    $(this).addClass("igotclicked");
    var myCount = FindMyCount(); // 1 - the # of li's under the showreel piece
    $(this).removeClass("igotclicked");
    // Do what you want here.
});
Другие вопросы по тегам