0

ショッピング サイトの CSS メニューを作成しました。アイデアは、メイン カテゴリがクリックされてから、slideToggle が開始され、サブカテゴリが読み込まれるというものです。私は原則を構築しており、jQuery .children を見ていました

ただし、リンクをクリックしても何も起こりません。

私のjQueryは次のとおりです:

$('ul.sub_menu').css('display','none');

$(".nav-list li a.clickable").toggle(function () {
  $(this).children().slideToggle();
}, function() {
  $(this).children().slideToggle();
}

私のHTML構造は次のようになります...

<ul class="nav nav-list">
  <li>

    <a class="clickable" href="#">Christmas</a>

    <ul class="sub_menu">
      <li>
        <a href="/~sweetdis/category/wreaths" >Wreaths</a>
      </li>
      <li>
        <a href="/~sweetdis/category/large-logs">Large Logs</a>
      </li>
    </ul>

  </li>
</ul>

ここで何かが足りないのですか?

どうもありがとう

4

2 に答える 2

2

このアンカーの子が存在しない場合にwithクラスslideToggleの子に使用するため、代わりに次を使用できます。anchorclickablesiblings

$('ul.sub_menu').css('display','none');

$(".nav-list li a.clickable").click(function () {
    $(this).siblings('ul.sub_menu').slideToggle();
});​

フィドル:http : //jsfiddle.net/QqMks/

于 2012-10-18T11:55:10.997 に答える
2

これを試して -

$('.sub_menu').hide();
$('.clickable').click(function(){
    $(this).next('ul').slideToggle();
});

または -

$('.ulClass li a:first').click(function(){
    $(this).next('ul').slideToggle();
});

作業デモ

clickable子供がいないため、クリックしても何も起こりません。

于 2012-10-18T11:53:41.213 に答える