嵌套类的Jquery选择器

嵌套类的Jquery选择器,jquery,jquery-selectors,Jquery,Jquery Selectors,假设我有以下HTML: <div class="parent"> <div> <div class="child"> <div> <div class="child"> </div> </div> </div> </div> </div> 无法预测是什么标记将div与类分开 我想要一个jque

假设我有以下HTML:

<div class="parent">
  <div>
    <div class="child">
      <div>
        <div class="child">
        </div>
      </div>
    </div>
  </div>
</div>

无法预测是什么标记将
div
与类分开

我想要一个jquery选择器,它在
父元素
之后获取第一个嵌套的
子元素
元素,但不获取任何更深嵌套的
子元素
元素。在本例中,我需要第一个
div,但不需要第二个

我无法使用
.parent>.child
,因为中间有
div

我不能使用
.parent>div>.child
,因为干预
div
是不可预测的

我不能使用
.parent.child
,因为这样会拾取第二个


有没有一种方法可以选择某个给定类的非直接子类而不选择嵌套较深的子类?

我认为您正在寻找
$('.parent.child').first()
$('.parent.child:first'))
这是等效的。

您可以使用来筛选
.child
元素,然后使用来确定
.child
元素是否具有类为
的父元素

这样做时,只有在元素处于顶层时,才能有条件地返回该元素


以下选择器适用于我:

$('.parent .child:not(.child .child)')

我会回显,以过滤掉不需要的
.child
元素,但使用
.not()
方法:

$('.parent .child').not('.child .child')
$('.parent.child').not('.child.child').css('border-color','red')
div{
宽度:80%;
框大小:边框框;
最小高度:5vh;
边框:1px实心#000;
保证金:0.5em自动;
}
div[类]::之前{
内容:attr(类);
}

我选择这个作为正确答案,因为它包含了所有建议的选项。如果我有足够的声誉,我会把迄今为止的4个答案都投上去。
$('.parent .child').not('.child .child')