【发布时间】:2019-08-28 02:10:33
【问题描述】:
很抱歉,如果之前已经解决过这个问题,但我对 JS 很陌生。
我正在使用我在这里找到的示例Add Active Class to a Navigation Menu Based on URL javascript - Works only when alert is given
我修改后的 JS 在这里:
$(function() {
setTimeout(function(){
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
console.log(pgurl);
$(".mega_menu ul li a").each(function(){
if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
$(this).addClass("active");
});
}, 5000);
});
控制台日志正在生成看似正确的链接,但活动类未应用于所需的类,我已包含屏幕截图以期提供帮助。console log displaying URL、NAV elements that ACTIVE class should be applied to。
提前谢谢你!
【问题讨论】:
-
问题似乎与 .each 循环有关。尤其是 this 关键字。在那里添加控制台日志并检查它的值。
-
嗨@SagarAgrawal,谢谢,但我不确定你的意思,你能改变我的代码,所以我明白,然后我很乐意测试
-
你能检查一下 pgurl 的值吗?看来问题是 window.location.href.substr(window.location.href.lastIndexOf("/")+1) 您提取当前网址的逻辑。改用路径名
标签: javascript class url add