如何从jQuery选择中排除这些元素?

我的jQuery:

$("ul.dropdown ul").slideDown("slow"); $("ul.dropdown ul ul").children().hide(); 

这会导致与第二个选择器匹配的那些显示一段时间。 如何从第一组中排除第二组,仅显示第一组?


我的HTML:

   

这可能会奏效:

 $("ul.dropdown > li > ul").slideDown("slow"); 

“>”仅指直接子女( http://docs.jquery.com/Selectors/child#parentchild )。 所以只要你的heirarchy是这样的(在你刚刚编辑之后,它似乎就是这样):

 
    • ..

它很可能会奏效。 希望相关的变化很明显……

这正是’not’方法的用途:

 $('ul.dropdown ul').not('ul.dropdown ul ul').slideDown('slow'); 

这可行。

 $("ul.dropdown ul:not(ul > ul)").slideDown("slow"); $("ul.dropdown ul ul").children().hide();