トグルを閉じるときに親から「オープン」クラスを削除したいのですが、以下のコードが機能しません。「オープン」クラスを追加しますが、閉じても削除されません。誰が私が間違っているのか見ることができますか?
$('.sub-menu').hide();
$('.toggle').click(function () {
if (!$(".sub-menu").is(":visible"))
$(this).addClass("open");
$(this).next('.sub-menu').slideToggle(function () {
if (!$(".sub-menu").is(":visible"))
$(this).parent('.toggle').removeClass("open");
});
});
更新: 「nav」の HTML は、要求どおりに以下に示します。
<dd class="toggle open">
<a id="navProducts">Products</a>
</dd>
<div class="sub-menu" style="display: block;">
<dd class="sub-menu-option">
<a id="navBluray" href="nhdadmin/products/bluray">Blu-ray</a>
</dd>
<dd class="sub-menu-option">
<a id="navXbox" href="nhdadmin/products/xbox">Xbox</a>
</dd>
<dd class="sub-menu-option">
<a id="navPlayStation" href="nhdadmin/products/playstation">PlayStation</a>
</dd>