質問: サイトのナビゲーションなどによくある、選択されているページの文字色を変えたいのですが、 どのようにすれば良いのでしょうか? 例えば以下の場合、会社案内をクリックしたら、会社案内ページが表示されているときは`会社案内`のテキストをredにする。といった動きにしたいです。 ``` 会社案内 製品一覧 お問い合わせ ```
回答: ページの読み込まれ方もあると思いますがajaxなどで必要な時に部分的に読み込んでいる場合 以下のようにクリックをもとに切り替える方法もあれば ``` // .active 表示中のページのボタンを表すクラス $('.nav li').on('click', function() { $('.active').removeClass('active'); $(this).addClass('active'); }); ``` 取ってきたページに依存して(ファイル名やファイル内の情報など)取ってきた後でどの要素にクラスをつけるのかを選ぶ方法があります。 前者は手軽ですが後者だといろいろなページの切り替わり方、同じページでも色々なボタンがあったり条件を満たしたら切り替わったり......に対応し易いです。 また単純にhtmlファイルが少なくてまとめて読み込むのでしたらそれぞれのファイルごとにactiveなどのクラスを付けてそれで色を付ければいいとおもいます。