给定索引,在不同的div列表中找到该索引

时间:2017-08-30 08:13:45

标签: jquery dom onclick

我有一个带有几个可点击点的div。我有一个var存储点击点的索引。我想在不同div中的列表中找到具有相同索引的li并给它一个类"选择",但我在这行中做错了什么:

 $(this).parent().parent().siblings( $("a.product_img_link") ).find( $("ul.thumbnails-custom-list") ).find( $("li").index( dotIndex ) ).addClass("selected");

这是HTML结构:

<a class="product_img_link" href="X">
    <ul class="thumbnails-custom-list">
        <li></li>
        <li></li>
        <li></li>
    </ul>
</a>
<div class="list-inline-controls">
    <div class="list-left-control"> <i class="fa fa-angle-left"></i> </div>
    <div class="list-right-control"> <i class="fa fa-angle-right"></i> </div>
</div>
<div class="dot-navigation-wrap">
    <div class="dot-navigation-inner-wrap"></div>
</div>

完全点击点功能:

$(".dot-navigation").on("click", function() {
    $(this).addClass("active");
    $(this).siblings().removeClass("active");
    var dotIndex = $(this).index();
    $(this).parent().parent().siblings($("a.product_img_link")).find($("ul.thumbnails-custom-list")).find($("li").index(dotIndex)).addClass("selected");
})

1 个答案:

答案 0 :(得分:1)

使用.eq(index)方法代替.index()

  

将匹配元素集合减少到指定索引处的元素。

$(this).parent().parent().siblings("a.product_img_link").find("ul.thumbnails-custom-list li").eq(dotIndex).addClass("selected");