我试图根据页面加载后所处的页面,将一个active类(即class=“active”)添加到相应的菜单列表项中。下面是我现在的菜单。在这方面,我已经尝试了我能找到的每一段代码,但没有任何效果。那么,有人能简单地解释一下在哪里以及如何添加javascript来定义这个任务吗
<;ul id=“导航”>;
<;li id=“导航主页”>&书信电报;a href=”https://stackoverflow.com/questions/20060467/home.aspx“>;主页</a></李>;
<;li id=“navmanage”>&书信电报;a href=”https://stackoverflow.com/questions/20060467/manageIS.aspx“>;管理</a></李>;
<;li id=“navdocso”>&书信电报;a href=”https://stackoverflow.com/questions/20060467/docs.aspx“>;文件</a></李>;
<;li id=“navadmin”>&书信电报;a href=”https://stackoverflow.com/questions/20060467/admin.aspx“>;管理小组</a></李>;
<;li id=“navpass”>&书信电报;a href=”https://stackoverflow.com/questions/20060467/past.aspx“>;查看过去</a></李>;
</ul>;
下面是一个javascript示例,我将它放在我的站点主控中的head标记中。我做错了什么
$(文档).ready(函数(){
$(函数(){
$('li a')。单击(函数(e){
e、 预防默认值();
$('a').removeClass('active');
$(this.addClass('active');
});
});
});
这不起作用的原因是javascript正在执行,然后页面正在重新加载,这会使“active”类无效。您可能想做的是:
$(函数(){
var current=location.pathname;
$('#nav li a')。每个(函数(){
var$this=$(this);
//如果当前路径与此链接类似,请将其激活
if($this.attr('href').indexOf(当前)!=-1){
$this.addClass('active');
}
})
})
有一些情况下,这将不起作用(多个类似的指向链接),但我认为这可能对你有用