Javascript 如何使侧边栏菜单保持打开状态?

Javascript 如何使侧边栏菜单保持打开状态?,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

我正在使用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.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
不是一个字符串,所以您应该首先将其更改为string
var url=window.location.toString()includes
之前的code>或将返回更改为
返回url.toString().includes(this.href)
否则它将返回
未定义的
更新,谢谢。当我使用
toString()
时,菜单现在保持打开状态。但是addClass
活动
不工作