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

如何从jQuery选择中排除这些元素? 我的jQuery:,jquery,css-selectors,Jquery,Css Selectors,这将导致与第二个选择器匹配的选择器在短时间内显示。如何从第一个集合中排除第二个集合,并仅显示第一个集合 我的HTML: 菜单 这可能会起作用: $("ul.dropdown > li > ul").slideDown("slow"); “>”仅表示直接子项()。所以,只要你的继承权是这样的(经过你刚才的编辑,似乎是这样的): .. 这很可能会奏效。希望相关的变化是明显的…这可能有效 $("ul.dropdown ul:

这将导致与第二个选择器匹配的选择器在短时间内显示。如何从第一个集合中排除第二个集合,并仅显示第一个集合


我的HTML:
  • 菜单


这可能会起作用:

$("ul.dropdown > li > ul").slideDown("slow");
“>”仅表示直接子项()。所以,只要你的继承权是这样的(经过你刚才的编辑,似乎是这样的):

    • ..
这很可能会奏效。希望相关的变化是明显的…

这可能有效

$("ul.dropdown ul:not(ul > ul)").slideDown("slow");
$("ul.dropdown ul ul").children().hide();
这正是我们的目的:


你可以发布你所指的HTML吗?你也可以利用你的.sub_菜单类来实现这一点,例如$(“ul.dropdown ul.sub_菜单”)。slideDown(“slow”);是的,但当有人摆弄标记,使内部ul成为较低的兄弟时,这种情况就会发生。。。例如,如果它被包装在一个div中(对于工程师来说,这是一件完全正常的事情,而不希望js被破坏)。
$("ul.dropdown > li > ul").slideDown("slow");
<ul>
  <li>
    <ul>
..
$("ul.dropdown ul:not(ul > ul)").slideDown("slow");
$("ul.dropdown ul ul").children().hide();
$('ul.dropdown ul').not('ul.dropdown ul ul').slideDown('slow');