我有一个带有几个可点击点的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");
})
答案 0 :(得分:1)
使用.eq(index)
方法代替.index()
将匹配元素集合减少到指定索引处的元素。
$(this).parent().parent().siblings("a.product_img_link").find("ul.thumbnails-custom-list li").eq(dotIndex).addClass("selected");