所以我有两个无序列表,其中有相同数量的项目。所以让我们假设无序列表#2中的项目全部隐藏。使它们出现的唯一方法是如果您单击无序列表#1中的项目。带索引的jQuery目标元素()
所以基本上
<ul class="list1">
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<li>item 4</li>
</ul>
<ul class="list2">
<li class="hide">item 1</li>
<li class="hide">item 2</li>
<li class="hide">item 3</li>
<li class="hide">item 4</li>
</ul>
现在我试图做到这一点的方法是使用index()
的方法,但我不知道如何正确处理这个代码。
这就是我想到的。
$('.list1').on('click', 'li', function() {
$('.list2 li').index($(this).index()).toggleClass('active');
});
所以当你在.list1
点击一个行项目,无论是行项目的指标,是我想在.list2
我遇到的问题为目标的指数,当我控制台记录它,我得到奇怪的索引号。第一个订单项显示为2而不是0,第二个订单项的索引为-1。
我做错了什么?我很确定。
在此先感谢你们!
尝试使用.EQ选择与指数的组合。 https://api.jquery.com/eq/ –
[jQuery.index](https://api.jquery.com/index/)总是返回索引,您正在寻找[jQuery.eq](https:/ /api.jquery.com/eq/),它将匹配元素的集合减少到指定索引处的匹配元素集合。 –