0

カスタムメニューを作成しようとしているワードプレスサイトがあります。私がする必要があるのは、子「ul」がある場合、親を「アコーディオンヘッダー」として扱うことです。現在は機能しますが、2 つ以上のレベルがある場合は残りを非表示にします。何か助けはありますか?

HTML:

<ul id="menu-interno" class="menu">
<li id="menu-item-629" class=""><a href="#">Home</a></li>
<li id="menu-item-635" class=""><a href="http://#">Mujeres</a>
    <ul class="sub-menu">
    <li id="menu-item-636" class=""><a href="#">Xiomi</a>
    <ul class="sub-menu">
        <li id="menu-item-637" class="">
        <a href="#">Xiomi &#8211; Pink Candy</a>
        </li>
        <li id="menu-item-638">
            <a href="#">Xiomi &#8211; Electric City</a>
        </li>
        <li id="menu-item-639">
        <a href="#">Xiomi &#8211; Cupcake Girl</a>
        </li>
    </ul>
</li>
</ul>
</li>
</ul>

CSS:

#menu-interno{
float: left;
width: 280px;
/*border-top: 1px solid #999;
border-right: 1px solid #999;
border-left: 1px solid #999;*/
}
#menu-interno li a {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  color:#000 !important;
}
#menu-interno li ul {
  display: none; // used to hide sub-menus
  margin: 4px 0 15px;
}
#menu-interno li ul li a {
  font-size: 11px;
  font-weight: normal;
  color:#000 !important;
}

JQuery:

$(document).ready(function () {

   $('#menu-interno > li > a').click(function(){
     if ($(this).attr('class') != 'active'){
       $('#menu-interno li ul').slideUp();
       $(this).next().slideToggle();
       $('#menu-interno li a').removeClass('active');
       $(this).addClass('active');
     }
   });
});
4

1 に答える 1

0

ul li をセレクターとして使用しないでください。別のクラスを使用してください。

于 2013-02-01T06:46:58.783 に答える