この質問のコードを使用して、表示/非表示を切り替えています
サブメニューを表示および非表示にする jQuery .toggle()
$('#menu-lateral .sub-menu').hide(); //Hide children by default
$('#menu-lateral > li > a').click(function() {
event.preventDefault();
$(this).siblings('.sub-menu').slideToggle('slow');
});
問題は、私のサブメニューに多くのアイテムを含む独自のサブメニューがあることです。このコードを次のレベルでも機能するように適応させる方法はありますか?
重要な情報: wordpress はデフォルトで同じクラスの子 UL を作成するため、両方とも .sub-menu.
お気に入り:
<ul id="menu-lateral" class="menu">
<li id="menu-item-29"><a href="#">Parent Level 1</a>
<ul class="sub-menu">
<li id="menu-item-108"><a href="#">Parent Level 2</a>
<ul class="sub-menu">
<li id="menu-item-104"><a href="#">Element</a></li>
</ul>
</li>
</ul>
</li>
</ul>
フィドル: http://jsfiddle.net/qfygM/1/
助けてくれてありがとう!
更新: 解決策はここにあります >> http://jsfiddle.net/qfygM/7/
ゼニス製。
$('#menu-lateral .sub-menu').hide(); //Hide children by default
$('#menu-lateral li a').click(function(event){
if ($(this).next('ul.sub-menu').children().length !== 0) {
event.preventDefault();
}
$(this).siblings('.sub-menu').slideToggle('slow');});