▽1
●
a-kuma3 ●100ポイント ベストアンサー |
クリックしたもの以外のメニュー項目に page というクラスをつける、ということでしょうか。
<ul> <li><a href="#top">TOP</a></li> <li><a href="#about" class="about">ABOUT</a></li> <li><a href="#info" class="info">INFO</a></li> <li><a href="#contact" class="contact">CONTACT</a></li> </ul> <script> $(function() { $("UL LI A").each(function() { var a = $(this); if (a.attr("href") != "#top") { a.attr("class", a.attr("class") + " page"); } }); $("UL LI A").on("click", function() { var me = $(this); $("UL LI A").each(function() { var a = $(this); var clz = a.attr("class"); if (typeof clz != "undefined") { a.attr("class", clz.replace(/page/, "")); } if (me.attr("href") != a.attr("href")) { a.attr("class", a.attr("class") + " page"); } }); }); }); </script>
jsFiddle で試したのが、こちらです。
http://jsfiddle.net/7sdfLjgw/
<body>にクラスをつけたいです。
aboutやinfoのリンクをクリックすると、<body class="page">となり、TOPの場合は、<body>のままになるということです。
では、こんな感じで。
<ul> <li><a href="#top">TOP</a></li> <li><a href="#about" class="about">ABOUT</a></li> <li><a href="#info" class="info">INFO</a></li> <li><a href="#contact" class="contact">CONTACT</a></li> </ul> <script> $(function() { $("UL LI A").on("click", function() { var a = $(this); var body = $("BODY"); if (a.attr("href") != "#top") { if (body.attr("class") != "page") { $("BODY").attr("class", "page"); } } else { body.attr("class", ""); } }); }); </script>
jsFiddle で試したのが、こちらです。
http://jsfiddle.net/7sdfLjgw/1/