我有一个用jQuery打开/关闭的导航。我试着这样做,以便当你点击例如。第2项如果打开任何其他物品,应关闭它们。但现在我无法关闭第2项。
$(document).ready(
function () {
$('a.has-child').click(function () {
$('div.child').not(this).removeClass("open");
$(this).closest('li').find('div.child').addClass("open");
});
});
这是一个小提琴:https://jsfiddle.net/mwcq0yek/
更新:我可以打开第4项并关闭第2项,反之亦然。但我无法单独关闭第2项或第3项。
答案 0 :(得分:3)
将班级移至所有.child
。
$('div.child').removeClass("open");
然后将类打开添加到单击的元素
$(this).closest('li').find('div.child').addClass("open");
<强>更新强>
如果要关闭.child
子菜单,则需要进行测试。你需要的是测试,如果该子菜单有一个类open
。
if ( submenu.hasClass("open") ) {
submenu.removeClass("open");
} else {
$('div.child').removeClass("open");
submenu.addClass("open");
}