gpt4 book ai didi

javascript - 突出显示jquery中的当前页面

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:00:40 27 4
gpt4 key购买 nike

我有 12 个 html 页面。当单击左侧导航栏链接时,所有这些页面都会加载。在此,我需要向当前链接添加一个类,该链接被单击并加载页面。我试过这个:

$(function(){
$('#container li a').click(function(){
$('#container li a').removeClass('current');
var pathname = (window.location.pathname.match(/[^\/]+$/)[0]);
var currentPage = $(this).attr('href');

if(currentPage==pathname){
$(this).addClass('current');
}
else{
alert('wrong');
}

// alert(pathname+' currentPage: '+currentPage);

})
})

它可以工作,但是在页面加载时,类被删除了,我不知道为什么会这样..

有什么帮助吗?

最佳答案

吉米是对的。当您重新加载页面时,浏览器也会刷新 Javascript 代码,这意味着您所做的所有变量和设置也将被重置。这就是当您单击链接时类似乎已被删除的原因。

此处的解决方案是修改您的代码以遍历所有链接并将每个链接与当前页面的 URL 进行比较。找到匹配项后,调用该链接的 addClass 函数以更改其颜色。所以,像这样的事情应该可行:

$(function(){

var pathname = (window.location.pathname.match(/[^\/]+$/)[0]);

$('#container ul li a').each(function() {
if ($(this).attr('href') == pathname)
{
$(this).addClass('current');
}
});
});

请注意,我们在页面加载时调用此循环函数,而不是在用户单击链接时调用它...因为单击链接将导致页面重新加载,这将重置所有 JQuery 变量。

希望这对您有所帮助。

关于javascript - 突出显示jquery中的当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2955851/

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