>没有父母允许的jQuery儿童选择器?

快速问题,是没有父级的jQuery子选择器有效吗? 如果是这样,你会如何使用它?

jQuery子选择器的示例:

$('ul > li') 

没有父级的jQuery子选择器的示例:

 $('> li') 

上面的第二个例子不起作用。 但是我不记得以前我是否曾经看过它,或者我看到了一些像以前一样的东西:

 $('ul').not('>li') 

是不是真的有用(但是没有弹出错误信息,所以它被忽略了?)

所以我的问题是你是否会使用没有父级的子选择器,并让它成为一个有效的jQuery选择器。

谢谢,抱歉,如果问题是愚蠢的。 🙂


编辑:

除了底部的Nick的jQuery.find示例,另一个用例是

 $('ul:has(>li)') 

注意:$(’ul’)。has(’> li’)是错误的,应该写

 $('ul').has('ul>li') 

AND for not()

不确定我是否正确,但你不会使用> not()的内部因为not()只涉及一个元素,而>比较多个元素。 但是你可以做类似的事情

 $('li:not(:has(>p))' 

是的,它在没有父项的情况下有效, 它不能在默认上下文中,因为您的

  • 不是documentdirect子项。 而且,它本身没有任何意义,因为它是某个东西的直接孩子,它与$("li")

    什么时候用? 可能减少代码,例如:

     $(this).find("> li > span a"); //as opposed to not being able to start with it: $(this).children("li").children("span").find("a"); 

    我想不出需要没有父级的子选择器的情况。 子选择器用于选择父元素的直接子元素。 如果没有父元素,应该选择其子元素?

    你为什么要这样?

    你总是可以使用$('* > li')虽然我无法真正看到它会实现什么,因为li应该永远是ulol的孩子