Итак, у меня есть два неупорядоченных списка с одинаковым количеством элементов в них. Итак, предположим, что элементы в неупорядоченном списке №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
проблема у меня в том, что, когда я console log it, я получаю странные индексы. Первая позиция будет отображаться как 2, а не 0, а индекс для второй позиции - -1.
что я делаю неправильно? я уверен.
спасибо заранее, ребята!
Попробуйте использовать селектор .eq с комбинацией индекса. https://api.jquery.com/eq/ –
[jQuery.index] (https://api.jquery.com/index/) всегда возвращает индекс, который вы ищете [jQuery.eq] (https://api.jquery.com/eq/), который уменьшает '[...] набор согласованных элементов до единицы по указанному индексу. ' –