-2

我有一个菜单,其中包含仅在单击它们时才显示的菜单项。要再次隐藏它们,必须再次单击它们。这一切都很好,但是当单击另一个菜单项时,我还需要隐藏其他可见的菜单项。

我目前使用:

$(this).parent().find("element").toggle();

因此,如果菜单项 2 可见并且菜单项 1 被单击,则菜单项 2 需要再次隐藏并且菜单项 1 需要可见。怎么做?

4

2 回答 2

0

您可以在单击时隐藏/显示元素:

$('.menu-item').on('click', function() {
    var $this = $(this);
    $this.show();
    $this.parent().children('.menu-item').not($this).hide();
});

根据嵌套使用 find 而不是 children。

于 2012-08-19T09:05:52.643 回答
0

这个怎么样:

$('.submenu').hide();
$('.menuitem').click(function() {
  var thissubmenu = $(this).find('.submenu');   
  $('.submenu').not(thissubmenu).hide();
  $(this).find(".submenu").toggle();
});
​

我制作了一个JSFiddle,我认为它可以满足您的需求。

但也许有人知道更优雅的方式。

于 2012-08-19T10:32:57.927 回答