jQuery过滤某些ul元素

时间:2012-04-27 04:13:45

标签: jquery jquery-selectors

我是jQuery的新手。我有jQuery代码来创建一个手风琴垂直菜单栏。菜单栏的默认行为是隐藏所有子元素。完成该任务的代码如下

var menu_ul = $('.menu > li > ul');
menu_ul.hide();

一旦用户点击顶级菜单并公开子选项,我想保存菜单的状态。我可以将一个特定的类添加到顶级ul项中,以区别于其他项。

为了完成这项工作,我必须更改上面的jQuery代码以隐藏除特定类之外的所有ul项。换句话说

隐藏除class =“show_item”

之外的所有ul元素

请帮助!!!

1 个答案:

答案 0 :(得分:2)

如果您要隐藏所有无序列表,而不是使用类show_item,则可以使用:not selector来完成此操作。

$("ul:not(.show_item)").hide();

为了提高可读性,jQuery的文档建议您考虑.not() filtering method

$("ul").not(".show_item").hide();

选择你的poisin - 两者都可以正常工作。