gia*_*ipz 5 html javascript jquery element
所以我有两个无序列表,其中包含相同数量的项目.因此,我们假设无序列表#2中的项都是隐藏的.使它们出现的唯一方法是单击无序列表#1中的项目.
所以基本上
<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>
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试实现此方法的index()方法是使用该方法,但我不确定如何正确处理此代码.
这就是我想到的.
$('.list1').on('click', 'li', function() {
$('.list2 li').index($(this).index()).toggleClass('active');
});
Run Code Online (Sandbox Code Playgroud)
因此,当您单击某个订单项时.list1,无论该订单项的索引是什么,都是我要定位的索引.list2
我遇到的问题是,当我登录它时,我得到了奇怪的索引号.第一个订单项将显示为2而不是0,第二个订单项的索引将显示为-1.
我究竟做错了什么?我很确定.
先谢谢你们!
Jquery .index()返回所选元素的索引.您需要使用:eq()selector或.eq()method来选择带索引的元素.
$('.list1').on('click', 'li', function() {
$('.list2 li').eq($(this).index()).toggleClass('active');
});Run Code Online (Sandbox Code Playgroud)
.hide { display: none; }
.active { display: block; }Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |