Javascript 如何通过检查一系列URL将活动状态应用于链接
不幸的是,我不能使用CMS来输出菜单项的类别,并且必须对它们进行硬编码,因为我的客户需要按照特定的顺序显示它们。CMS没有附加到特定类别的索引或顺序 这是我的HTML: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
<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');