我有一个导航菜单,在这个菜单中我已经选择了#34;标签因此"当前"标签,指的是用户当前所在的页面。因此,在每个HTML页面中,无论用户可能在哪个页面,在导航菜单中,他们选择的项目在某种意义上都是突出显示的,以通知他们他们所在的页面。
问题?我希望能够在JavaScript和/或jQuery中自动执行此操作,因为我将在内容管理系统和/或包含中实现此功能,并且如果能够将类应用于当前页面,则无法实现NAVIGATION MENU是一个包含与静态HTML / CSS相反的内容。
这有意义吗? 有什么想法吗?
非常感谢你! 亚伦
答案 0 :(得分:1)
也许这样的事情?使用JavaScript将每个链接的HREF与当前页面的URL进行比较,如果匹配则突出显示。
$('.menulink').each(function() {
var href = $(this).attr('href');
var tarr = location.href.split('/');
var curr = tarr[tarr.length-1];
if (href===curr) {
$(this).addClass('current');
};
});
答案 1 :(得分:1)
由于您没有提供任何代码,我只能给您一个通用示例,但如果网址与菜单链接相同,则可能会有效。
$('.navigation>ul>li>a').each(function(){
if($(this).prop('href') == (window.location.pathname.match(/.*\/(.*)$/)||['',''])[1]){
$(this).addClass('current');
}
});
答案 2 :(得分:1)
也许使用var path = window.location.pathname;
抓取网址然后从那里检查页面并匹配导航菜单以突出显示元素。