サイドメニューとして全画面共通化したulメニューに、jqueryでカレントをつけたいと思っています。
現在のソースです。
html
1<nav id="sNav"> 2 <ul> 3 <li><a href="../page1/">ページ1一覧</a></li> 4 <li><a href="../page2/">ページ2一覧</a></li> 5 <li><a href="../page3/">ページ3一覧</a></li> 6 <li><a href="../page1/detail.html">ページ1詳細画面</a></li> 7 <li><a href="../page2/detail.html">ページ2詳細画面</a></li> 8 <li><a href="../page4/">ページ4一覧</a></li> 9 </ul> 10 </nav>
js
1$(function(){ 2 $('#sNav li a').each(function(){ 3 var $href = $(this).attr('href'); 4 if(location.href.match($href)) { 5 $(this).addClass('current'); 6 } else { 7 $(this).removeClass('current'); 8 } 9 }); 10});
このソースですと、全てのページで意図したとおりにカレントはつくのですが、詳細画面の時は、上階層にあたる一覧のメニューにもカレントがついてしまいます。
詳細ページを表示時は上階層のメニューにはカレントをつけないというのはどのような書き方をしたら良いのでしょうか?
条件をどのようにはめたら良いのかでよくわからなくなってしまいました、、
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/08 09:51