こんにちは、jquery でメニューを作成しようとしています。アンカーをクリックするとサブメニューが表示されますが、このサブメニュー内のリンクをクリックすると別のサブメニューが表示されます。
つまり、親 -> 子 -> 孫
問題は、子をクリックすると、さらに拡大するのではなく、そのメニューが閉じられることです。これは、私が望んでいないにもかかわらず、子を読み取って同じJqueryを適用しているためだと思います。
$("#pop-out-left ul li > a").click(function () {
$("#pop-out-left ul li")
.not($(this).parent())
.removeClass("active");
$(this).parent().toggleClass("active");
});
$("#pop-out-left ul li ul li a").click(function () {
$("#pop-out-left ul li ul li")
.not($(this).parent())
.removeClass("active");
$(this).parent().toggleClass("active");
});
html...
<div id="pop-out-left">
<ul>
<li>
<a>first</a>
<ul>
<li>
<a> second</a>
<ul>
<li>third level</li>
</ul>
</li>
</ul>
</li>
<li>
<a>first</a>
<ul>
<li>
<a> second</a>
<ul>
<li>third level</li>
</ul>
</li>
</ul>
</li>
<li>
<a>first</a>
<ul>
<li>
<a> second</a>
<ul>
<li>third level</li>
</ul>
</li>
</ul>
</li>
</ul>
CSS...
#pop-out-left > ul > li > a + ul {
display: none;
}
#pop-out-left > ul > li.active > a + ul {
display: block;
}
#pop-out-left > ul > li > a + ul > li > ul {
display: none;
}
#pop-out-left > ul > li > a + ul > li.active > ul {
display: block;
}