【发布时间】:2019-10-08 08:28:32
【问题描述】:
当我从列表 2 () 或列表 3 () 中选择 时,我试图折叠
目前,如果我打开一个列表,它会保持打开状态,不会关闭其他已经打开的列表。
HTML:
<ul class="components">
<!-- LIST 1 -->
<li>
<a href="#homeSubmenu" data-toggle="collapse" aria-expanded="false" class="dropdown-toggle">
Home
</a>
<ul class="collapse list-unstyled" id="list1">
<li>
<a href="#">Inicio 1</a>
</li>
<li>
<a href="#">Inicio 2</a>
</li>
<li>
<a href="#">Inicio 3</a>
</li>
</ul>
</li>
<!-- LIST 2 -->
<li>
<a href="#homeSubmenu" data-toggle="collapse" aria-expanded="false" class="dropdown-toggle">
Second home
</a>
<ul class="collapse list-unstyled" id="list2">
<li>
<a href="#">Inicio 1</a>
</li>
<li>
<a href="#">Inicio 2</a>
</li>
<li>
<a href="#">Inicio 3</a>
</li>
</ul>
</li>
<!-- LIST 3 -->
< li >
<a href="#homeSubmenu" data-toggle="collapse" aria-expanded="false" class="dropdown-toggle">
Another Home
</a>
<ul class="collapse list-unstyled" id="list3">
<li>
<a href="#">Inicio 1</a>
</li>
<li>
<a href="#">Inicio 2</a>
</li>
<li>
<a href="#">Inicio 3</a>
</li>
</ul>
</li>
</ul>
JavaScript:
$(function() {
$('.components li a').click(function(e) {
e.preventDefault();
var $this = $(this);
$this.closest('ul').children('li').removeClass('active');
$this.parent().addClass('active');
});
});
结果是所有选中的
【问题讨论】:
标签: javascript bootstrap-4 collapse