对此有几个 SO 解决方案,但我没有任何运气让它们工作。JQuery 初学者试图通过一个解决方案在简单的导航菜单中将“活动”类添加到活动列表项:
<div id="main-menu">
<ul>
<li><a href="/site/about">About Us</a></li>
<li><a href="/site/work">Our Work</a></li>
<li><a href="/site/contact">Contact Us</a></li>
</ul>
</div>
以前的 SO 帖子表明这有效,但到目前为止我还没有成功。我在 wordpress 中使用了漂亮的永久链接,因此任何页面的完整路径如下:
http://www.foobar.com/site/about/
这是我到目前为止的工作:
<script>
$(function(){
var url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/,''));
$('#main-menu li').each(function(){
if(urlRegExp.test(this.href)){
$(this).addClass('active');
}
});
});
</script>
我已经尝试了几种解决方案,包括更改我编写 href 的方式等。我真正模糊的代码部分是 urlRegExp 部分......有帮助吗?