【发布时间】:2020-04-23 13:35:12
【问题描述】:
我想让li 的祖先有active 类以他的儿子(按钮)类为目标,并通过area-expanded= true 在其中崩溃。
这是html:
<li class="nav-item">
<button class="nav-link" type="button" data-toggle="collapse" data-target="#nav-collapse-2" aria-controls="nav-collapse-2" aria-expanded="true">Typographies</button>
<div class="nav-collapse collapse show" id="nav-collapse-2" style="">
<div class="nav-collapse-inner">
<ul class="nav-submenu">
<li class="nav-submenu-item">
<a class="nav-submenu-link active" href="sg-typo-familles.html">Les familles</a>
</li>
<li class="nav-submenu-item">
<a class="nav-submenu-link" href="sg-typo-hierarchisation.html">Hiérarchisation</a>
</li>
</ul>
</div>
</div>
</li>
这是一些js:
var get_url = function (){
$(".navbar-nav--left .nav-link, .nav-submenu .nav-submenu-link").each(function(){
var $this = $(this);
if($this.attr('href') == window.location.href.substr(window.location.href.lastIndexOf('/') + 1)){
// var regex = /\/\/.*\/(.*)\//g;
// var match = regex.exec(window.location.href);
// console.log("eeeeeee : ",match )
$this.addClass('active');
// var collapsed = $(".nav-item *");
collapsed = $(this).closest(".nav-item")[0];
}
});
};
我被这段代码卡住了:(
【问题讨论】:
-
你在使用引导程序吗?如果您使用的是引导程序,则切换折叠事件的正确方法应类似于 this
-
有点令人困惑,因为您似乎提供了一些设置活动类的代码,但不是您要求的代码:
$(".active").closest(".nav-item").find("button.nav-link")
标签: javascript jquery collections closest