Javascript JQuery在重新加载时将活动类添加到父类

Javascript JQuery在重新加载时将活动类添加到父类,javascript,php,jquery,Javascript,Php,Jquery,当我将href中的“#”替换为URL时,我的“活动”类不起作用。当我点击链接时,页面刷新,“活动”类不会改变。 这是我将#更改为URL之前的工作代码 }) 更换后(不工作): 当您单击URL链接时,页面将被刷新,当前Jquery将不再工作。您必须根据页面加载时的页面URL或DOM就绪时的页面URL更新代码以确定活动菜单 您必须将活动类设置为具有“查找到的文件名为href”属性的菜单 以下是使用jquery选择器的完整代码: $(document).ready(function

当我将href中的“#”替换为URL时,我的“活动”类不起作用。当我点击链接时,页面刷新,“活动”类不会改变。 这是我将#更改为URL之前的工作代码

})

更换后(不工作):


当您单击URL链接时,页面将被刷新,当前Jquery将不再工作。您必须根据页面加载时的页面URL或DOM就绪时的页面URL更新代码以确定活动菜单

您必须将活动类设置为具有“查找到的文件名为href”属性的菜单

以下是使用jquery选择器的完整代码:

 $(document).ready(function(){
    var fullpath =window.location.pathname;
    var filename=fullpath.replace(/^.*[\\\/]/, '');
    //alert(filename);
    var currentLink=$('a[href="' + filename + '"]'); //Selects the proper a tag
    currentLink.parent().addClass("active");
    }))

你的意思是我不能包括这个导航?我必须在我拥有的每一页中复制和粘贴代码,并手动设置活动类?不,您不必手动设置活动菜单。我已经更新了关于如何通过JavaScript实现这一点的答案。我是JavaScript新手。你能根据我的代码提供完整的解决方案吗?好的。我使用Jquery选择器添加了正确的代码。对不起。我错误地使用了路径名。请再次检查。我不确定您想做什么,但似乎您需要使用AJAX。
$('.additional-menu a').on('click', function() {
var t = $(this);
t.parents('.additional-menu').find('li').removeClass('active'); 
t.parentsUntil('.additional-menu', 'li').addClass('active'); 
 <ul class="additional-menu">
 <li class="active"><a href="link1.php">Link1</a></li>
 <li><a href="link1.php" id="link2">Link2</a>
 <ul>
 <li><a href="link2-1.php" id="link2.1">Link2.1</a></li>
 </ul>
 </li>
 <li><a href="link3.php" id="link3">Link3</a></li>
 </ul>
 $(document).ready(function(){
    var fullpath =window.location.pathname;
    var filename=fullpath.replace(/^.*[\\\/]/, '');
    //alert(filename);
    var currentLink=$('a[href="' + filename + '"]'); //Selects the proper a tag
    currentLink.parent().addClass("active");
    }))