Javascript 如何激活引导导航下拉项?
我有一个引导导航栏,我试图在页面重新加载后保持所选项目处于活动状态。我有这个脚本下面,它的工作正常的项目很好Javascript 如何激活引导导航下拉项?,javascript,jquery,html,css,navbar,Javascript,Jquery,Html,Css,Navbar,我有一个引导导航栏,我试图在页面重新加载后保持所选项目处于活动状态。我有这个脚本下面,它的工作正常的项目很好 $(document).ready(function () { var url = window.location; $('ul.navbar-nav a[href="'+ url +'"]').parent().addClass('active'); $('ul.navbar-nav a').filter(function() { retur
$(document).ready(function () {
var url = window.location;
$('ul.navbar-nav a[href="'+ url +'"]').parent().addClass('active');
$('ul.navbar-nav a').filter(function() {
return this.href == url;
}).parent().addClass('active');
});
但当涉及到下拉式导航栏项目时,我的代码不起作用。这是我的导航栏
<ul class="navbar-nav mr-auto" id="navbar-list">
<li class="nav-item admin-menu">
<a class="nav-link" href="{{ route('teams.index') }}">Takımlar</a>
</li>
<li class="nav-item dropdown admin-menu">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Hakem Yönetimi
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="nav-link" href="{{ route('referees.index') }}">Hakamler</a>
<a class="nav-link" href="{{ route('referees.index') }}">Hakem Atamalar</a>
</div>
</li>
<li class="nav-item admin-menu">
<a class="nav-link" href="{{ route('reports.index') }}">Haberler</a>
</li>
</ul>
-
-
-
我如何解决这个问题
任何帮助都将不胜感激。因为下拉列表中的
链接的父项与导航项不同,所以将“活动”类指定给下拉菜单
类,而不是导航栏项
我认为应该是:
$(document).ready(function () {
var url = window.location;
$('ul.navbar-nav a[href="'+ url +'"]').parents('.nav-item').addClass('active');
});
另外,JQueryparent
方法只搜索一个父级。尝试将.parent().
替换为.nestest(.nav项”)。
或.nestest(“li”)。
nestest()方法的工作速度比parents()快得多,因为一旦找到合适的ansector,它就会停止并返回结果,而parents()收集DOM的所有元素,然后对它们进行过滤——这需要更多的时间time@Tartarroute()
方法是否返回绝对url?是,它确实返回绝对url。类似于@Tartar的东西,我用自己的代码和标记准备了一个示例。您生成的链接应该类似于浏览器位置链接(包括协议http\https
和尾部斜杠),并且您还应该处理尾部斜杠问题(当用户手动键入url时,使用斜杠或不使用斜杠)。