Я не могу понять это, и, возможно, я усложняю это, чем это.
Мне нужно выбрать все DOMS с классом 'B', чей родитель, 'A', не делаетсодержит класс 'C' в любом поколении, и 'C' НЕ является родственным братом 'B'
Пример:
Мы не выбрали бы B, если
A => ({B}, {D => ({C})})
Поскольку родитель B, A, также содержит D, а D содержит C.
Однако мы бы выбрали B, если
A => ({B}, {D => ({})})
, потому чтоРодитель B, A, содержит D, но C нигде не находится в этом конкретном дереве под A.
Я пробовал:
$('.B').not($(this).parent('.A').find('.C'))
Но оператор notздесь фактически выбирается 'C' и исключается сам C из массива B. Я также попытался has
вместо find
, но это не только выбирает родительский A для исключения, но я считаю, что has
только просматриваетодно поколение.
Буду признателен за любую помощь или руководство.