gpt4 book ai didi

javascript - JQuery在重新加载时将事件类添加到父类

转载 作者:行者123 更新时间:2023-11-30 16:05:45 24 4
gpt4 key购买 nike

当我将“#”从 href 替换为 URL 时,我的“事件”类不起作用。当我点击链接时,页面刷新并且“事件”类没有改变。这是我将 # 更改为 URL 之前的工作代码。

<ul class="additional-menu">
<li class="active"><a href="#">Link1</a></li>
<li><a href="#" id="link2">Link2</a>
<ul>
<li><a href="#" id="link2.1">Link2.1</a></li>
</ul>
</li>
<li><a href="#" id="link3">Link3</a></li>

J查询:

$('.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>

最佳答案

当您单击 URL 链接时,页面正在刷新,当前的 Jquery 将不再工作。您必须根据页面 URL 页面加载DOM 就绪 而不是 onClick 更新您的代码以确定事件菜单。

您必须将事件类设置为将找到的文件名作为 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 - JQuery在重新加载时将事件类添加到父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com