Javascript 如何通过检查一系列URL将活动状态应用于链接

Javascript 如何通过检查一系列URL将活动状态应用于链接,javascript,jquery,Javascript,Jquery,不幸的是,我不能使用CMS来输出菜单项的类别,并且必须对它们进行硬编码,因为我的客户需要按照特定的顺序显示它们。CMS没有附加到特定类别的索引或顺序 这是我的HTML: <ul> <li><a href="/projects/" class=" active">All</a></li> <li><a href="/projects/?category=discovery" class="">di

不幸的是,我不能使用CMS来输出菜单项的类别,并且必须对它们进行硬编码,因为我的客户需要按照特定的顺序显示它们。CMS没有附加到特定类别的索引或顺序

这是我的HTML:

 <ul>
    <li><a href="/projects/" class=" active">All</a></li>
    <li><a href="/projects/?category=discovery" class="">discovery</a></li>
    <li><a href="/projects/?category=strategy" class="">strategy</a></li>
    <li><a href="/projects/?category=program+design" class="">program design</a></li>
    <li><a href="/projects/?category=implementation" class="">implementation</a></li>
    <li><a href="/projects/?category=creative" class="">creative</a></li>
    <li><a href="/projects/?category=evaluation" class="">evaluation</a></li>
</ul>
问题:

如何使用每个的href值创建一个数组? 我如何获取该数组并检查浏览器url以查看它是否与其中一个数组匹配,如果匹配,则查找具有相同href的并应用活动类?
非常感谢

您可以执行以下操作:

$(document).ready(function(){  

    $( "a" ).each(function() {
          var url = window.location.href; 

          if($(this).attr('href') == $.trim(url))
          {
              $(this).addClass('active');
          }
          else
          {
              $(this).removeClass('active');
          }
      });
  });
var link = window.location.href.match(/category\=.+/);

if (link)
{
   $('a[href$="'+link[0]+'"]').addClass('active');
}
或者您也可以这样做:

 $('a[href$="'+window.location.search+'"]').addClass('active');