将当前标记类应用于当前页面?

时间:2011-12-15 17:17:04

标签: javascript jquery css class navigation

我有一个导航菜单,在这个菜单中我已经选择了#34;标签因此"当前"标签,指的是用户当前所在的页面。因此,在每个HTML页面中,无论用户可能在哪个页面,在导航菜单中,他们选择的项目在某种意义上都是突出显示的,以通知他们他们所在的页面。

问题?我希望能够在JavaScript和/或jQuery中自动执行此操作,因为我将在内容管理系统和/或包含中实现此功能,并且如果能够将类应用于当前页面,则无法实现NAVIGATION MENU是一个包含与静态HTML / CSS相反的内容。

这有意义吗? 有什么想法吗?

非常感谢你! 亚伦

3 个答案:

答案 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;抓取网址然后从那里检查页面并匹配导航菜单以突出显示元素。