EC-CUBEサイトを構築しているjavascript初心者です。
下記コードの現在の表示させているページに class=active を付与してデザインを加えたいです。
HTML
1<div class="header__nav"> 2 <div class="header__menu"> 3 <a class="header__menu-home" href="{{ url('homepage') }}"><img src="{{ asset('sample/dest/img/cmn_home_icon.svg') }}"></a> 4 <a class="header__menu-item"href="{{ url('product_list') }}">商品一覧</a> 5 <a class="header__menu-item"href="{{ url(eccube_config.eccube_user_data_route, {"route": "guide"}) }}">ご利用ガイド</a> 6 <a class="header__menu-item"href="">制作事例</a> 7 <a class="header__menu-item"href="">テンプレート</a> 8 <a class="header__menu-item"href="">入稿ガイド</a> 9 <a class="header__menu-item" href=""><img src="{{ asset('airkan/dest/img/cmn_upload_icon.svg') }}" >データ入稿</a> 10 </div> 11</div>
例えば「商品一覧」のURLは下記のようになります。
http://localhost:XXXX/eccube/products/list
URL末尾の/で区切らる部分の値が同じ時にclass=activeを付与しようと、(「商品一覧ページの場合は/list」)
ネットで拾ってきたコードを元に以下のようにしました。
jQuery
1$(document).ready(function() { 2 var activeUrl = location.pathname.split("/")[3]; 3 navList = $(".header__menu").find("a"); 4 5 navList.each(function(){ 6 if( $(this).attr("href").split("/")[3] == activeUrl ) { 7 $(this).addClass("active"); 8 }; 9 }); 10});
しかし表示しているページにクラスが付与されません。。。。。
どこがおかしいのかご教授ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。