Javascript 如何使侧边栏菜单保持打开状态?
我正在使用adminlte 3Javascript 如何使侧边栏菜单保持打开状态?,javascript,jquery,css,adminlte,Javascript,Jquery,Css,Adminlte,我正在使用adminlte 3 现在,当我打开我的页面(例如组)时,url将更改为http://localhost:84/mysite/Group/子菜单是这样打开的 我就是这么做的 var url=window.location; $('ul.nav-sidebar a')。过滤器(函数(){ 返回this.href==url; }).addClass(“活动”); $('ul.nav-treeview a').filter(函数(){ 返回this.hre
-
-
-
-
-
现在,当我打开我的页面(例如组)时,url将更改为http://localhost:84/mysite/Group/
子菜单是这样打开的
我就是这么做的
var url=window.location;
$('ul.nav-sidebar a')。过滤器(函数(){
返回this.href==url;
}).addClass(“活动”);
$('ul.nav-treeview a').filter(函数(){
返回this.href==url;
}).parentsUntil(“.nav边栏>.nav treeview”).addClass('menu-open').prev('a').addClass('active');
但是当我打开另一个页面时,Group
路径中的内容。示例<代码>http://localhost:84/mysite/Group/detail/1
我的菜单变成这样了
所以,我的问题是,我如何保持菜单打开?提前谢谢,我的英语很抱歉。我想你能做到
var url = window.location.url;
$('ul.nav-treeview a').filter(function() {
return url.includes(this.href);
}).parentsUntil(".nav-sidebar > .nav-treeview").addClass('menu-open').prev('a').addClass('active');
这应该行得通
var url = window.location.href;
$('ul.nav-sidebar a').filter(function() {
var rgx = new RegExp($(this).attr("href"), "gi");
return url.match(rgx);
}).addClass('active');
$('ul.nav-treeview a').filter(function() {
var rgx = new RegExp($(this).attr("href"), "gi");
return url.match(rgx);
}).parentsUntil(".nav-sidebar > .nav-treeview").addClass('menu-open').prev('a').addClass('active');
var url=window.location
不是一个字符串,所以您应该首先将其更改为stringvar url=window.location.toString()使用includes
之前的code>或将返回更改为返回url.toString().includes(this.href)
否则它将返回未定义的
更新,谢谢。当我使用toString()
时,菜单现在保持打开状态。但是addClass活动
不工作