• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カレントページ aタグではなく、liに「activ)

カレントページのliタグにactiveクラスを付与する方法

このQ&Aのポイント
  • カレントページのliタグにactiveクラスを付与する方法を教えてください。
  • どうすればカレントページのliタグにactiveクラスを追加できるのでしょうか?
  • jQueryまたはJavaScriptを使用して、カレントページのliタグにactiveクラスを付ける方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

HTMLの構成がはっきりとはわかりませんが推測で・・・ $(this).paernt("li").addClass("active"); gnaviの外側(祖先要素)にLIが無いと仮定して、外側も付与するなら $(this).parents("li").addClass("active"); ライブラリを使わないならこんな感じでしょうか。 (onloadなどで実行してください) var URL = window.location.pathname; var i, a, elm; var a = document.getElementById("gnavi").getElementsByTagName("a"); for(i=0; elm=a[i++];) if(elm.href==URL){ while(elm && (elm=elm.parentNode)){ while(elm && elm.nodeName!="LI") elm = elm.parentNode; if(elm) elm.className += " active"; } }

re999
質問者

お礼

回答ありがとうございました。 大変参考になりましたー

その他の回答 (1)

  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

こんな感じでしょうか? <html> <head> <title>テスト</title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type='text/javascript'> $(document).ready(function(){ $('li a').each(function(){ $(this).click(function(){ $('li').removeClass('active'); $(this).parent().addClass('active'); }); }); }); </script> <style type="text/css"> .active{background-color: #CCCCCC} </style> </head> <body> <ul> <li><a href="#">test1</a></li> <li><a href="#">test2</a></li> <li><a href="#">test3</a></li> <li><a href="#">test4</a></li> </ul> </body> </html>

re999
質問者

お礼

回答ありがとうございました。 parent().を使うんですね。 大変参考になりましたー

関連するQ&A