これにはいくつかの 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 の投稿では、これが機能することが示されていましたが、これまでのところ成功していません。私はワードプレスできれいなパーマリンクを使用しているので、任意のページへのフルパスは次のようになります:
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 の部分です...何か助けはありますか?