Javascript 仅jQuery选择器第一级div

Javascript 仅jQuery选择器第一级div,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,鉴于此HTML: ​ 选择这个 ​不要选择此选项 选择这个 什么样的选择器只获取第一层的div,而不是嵌套的div 所以查询​$(“.foo WHATEVER”).length应返回2 请参见此处的。您可以使用子选择器: $('body > .foo').length; 您可以使用body作为父元素,并使用 也许是这样的?福不是后代的地方 $('.foo').not('.foo .foo').length 是否有人知道此解决方案是否比$('body>.foo').length;更有效

鉴于此HTML:

​
选择这个
​不要选择此选项
选择这个
什么样的选择器只获取第一层的div,而不是嵌套的div

所以查询
​$(“.foo WHATEVER”).length应返回2


请参见此处的

您可以使用
子选择器:

$('body > .foo').length;

您可以使用
body
作为父元素,并使用


也许是这样的?福不是后代的地方

$('.foo').not('.foo .foo').length

是否有人知道此解决方案是否比$('body>.foo').length;更有效;?如果你的元素是身体的子元素。。那么$('body>foo')可能会更有效,因为它只搜索子元素。我认为这种解决方案效率较低,但更灵活,因为html结构可以不同,div不必是直接子元素。很好的解决方案,这对我很有效,谢谢+1非常感谢,但是如果div不是body的直接子元素,那么这不起作用,所以不幸的是,这不是很灵活(不过这很好地回答了我的问题)。@Marc不客气,您可以用.foo元素的父元素替换body。是的,我知道,但在我的项目中它们没有公共父元素,
$('.foo')。不是('.foo.foo')
最适合我。
$('.foo').not('.foo .foo').length