質問内容
RailsとjQueryを学習中の者です。
jQueryを用いてページのパスごとにデザインを変更する処理を記述しようとしております。
初回ページ読み込み時のパスによって、liタグにクラス名を付与する処理はできたのですが、
もう一度リンクを踏んでしまうとクラス名が付与されていない状態になってしまいます。
お知恵をお貸しいただけると幸いです。
①ページが読み込まれる。
②現在のパスを変数に格納
③aタグのパスを変数に順次格納
④条件分岐により現在のページと同一のパスであればデザイン変更(色変え等)
該当のソースコード
javascript
1$(function() { 2 var current_path = $(location).attr('pathname'); 3 $('.sidebar ul li a').each(function() { 4 var a_path = $(this).attr('href'); 5 if (current_path === a_path) { 6 // 読み込むaタグは毎回違うのでその時々の親を指定 7 $(this).parent('li').addClass('current-page'); 8 } 9 }); 10});
HTML
1<div class="sidebar"> 2 <ul> 3 <li><%= link_to 'アカウント', account_users_path %></li> 4 <li><%= link_to 'プロフィール', profile_users_path %></li> 5 </ul> 6</div>
試したこと
パスの読み取り方法やメソッド名を別のものに変更しても動きませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/18 03:04
2022/07/18 04:01