0

これは私のHTMLメニュー構造です:

<div id="footer-menu">
                <ul>
                    <li><a id="creative-events-menu" href="#/creative-events"></a></li>
                    <li><a id="creative-ajans-menu" href="#/creative-ajans"></a></li>
                    <li><a id="incentive-travel-menu" href="#/incentive-travel"></a></li>
                </ul>
                <ul>
                    <li><a id="hakkimizda-menu" href="#/hakkimizda"></a></li>
                    <li><a id="haberler-menu" href="#/haberler"></a></li>
                    <li><a id="galeri-menu" href="#/galeri"></a></li>
                    <li><a id="referanslar-menu" href="#/referanslar"></a></li>
                    <li><a id="iletisim-menu" href="#/iletisim"></a></li>
</ul>
                    </ul>
            </div>

そしてactive、アクティブなメニューにクラスを追加し、別のページを取得したら削除したいと思います。

JS:

<script type="text/javascript">

$(function() {
    $('li a').click(function(e) {
        e.preventDefault();
        var $this = $(this);
        $this.closest('ul').find('.active').removeClass('active');
        $this.parent().addClass('active');

    });
});

</script>

このスクリプトはactiveクラスを追加しますが、削除しません。どうすれば修正できますか?

4

1 に答える 1

2

このようにスクリプトを変更すると、次のように機能します。

  <script type="text/javascript">
    $(function() {
        $('li a').click(function(e) {
            e.preventDefault();
            $(this).closest('ul').find('.active').removeClass('active');
            $(this).parent().addClass('active');
        });
    });
  </script>

クラスを に追加したい場合は<a>、これを使用します:$(this).addClass('active');の代わりに$(this).parent().addClass('active');

フィドル: http://jsbin.com/uyidom/1


それはタイプミスですか、</ul>それとも 2 回ありますか?

于 2012-12-23T18:04:38.140 に答える