0

私はこのメニュー構造を持っています

<div id="menu-s">
<ul>
<li>
<a href="#">About Us</a>
    <ul class="sub-menu">
       <li>
          <a>
       </li>
     </ul>
</li>

私はこのjsを使用します:

  <script>
        $(document).ready(function () {
  $('#menu-s > li > a').click(function(){
    if ($(this).attr('class') != 'active'){
      $('#menu-s li ul').slideUp();
      $(this).next().slideToggle();
      $('#menu-s li a').removeClass('active');
      $(this).addClass('active');
    }
  });
});
</script>

親のliが呼び出されたときにsubulを表示したいだけです。これを手伝ってください。ありがとう

4

1 に答える 1

2

最初のの終了タグがありません<ul>。また、セレクターが無効です。そのはず$('#menu-s > ul > li > a')

@edit
また、コード$(this).attr('class') != 'active'は常に真であるため無効です(私は思います)。あなたは次のようなものを使うべきですif(!$(this).hasClass('active'))

@ edit2
これは、クラスが「アクティブ」でない場合にのみ処理する場合に、それを処理するコードがないためです。これを修正するelseステートメントを追加します。

于 2013-01-10T16:03:50.570 に答える