我正在使用AdminLTE v3,并且无法使用jquery向菜单项添加活动状态。我进行了搜索,但只有v2的示例,锚点是具有活动类的锚点,而不是列表项。
var url = window.location;
// for sidebar menu entirely but not cover treeview
$('ul.nav-sidebar a > i').filter(function () {
return this.href == url;
}).parent().siblings().removeClass('active').end().addClass('active');
// for treeview
$('ul.nav-treeview a').filter(function () {
return this.href == url;
}).parentsUntil(".nav-sidebar > .has-treeview").siblings().removeClass('active').end().addClass('active')
这是AdminLTE v2中使用的jQuery,我只是根据v3中的类名称更改了
$('ul.nav-sidebar a').filter(function () {
return this.href == url;
}).addClass('active');
编辑
var c = $('.nav li a').each(function () {
return this.href == url;
}).addClass('active');
这个似乎正在为导航树视图中的锚点工作。无法访问第二个列表项中的锚点。
有了这个,我可以将所有锚设置为活动状态
{{1}}
答案 0 :(得分:0)
是!!!我终于弄清楚了父级兄弟姐妹在jquery中是如何工作的!
这是最终结果,如果有人遇到同样的问题并且是jquery的新手。调试器也是您最好的朋友。
$(document).ready(function () {
var url = window.location;
// Adds active on inner anchor and treeview anchor and treeview menu-open state to li
$('ul.nav a').filter(function () {
return this.href == url;
}).addClass('active').parent().parent().siblings().addClass('active').parent().addClass('menu-open');
});