Выберите только родительские узлы, которые соответствуют селектору - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь получить все родительские узлы, которые содержат класс .export, любой дочерний узел, у которого есть родительский элемент с .export, должен быть пропущен из выбора.

Узлыможет появиться в любом месте дерева, но может потребоваться любой узел, у которого нет родителя с тем же классом.

Имеет следующую структуру HTML:

<div class="export"> <!-- Select this one -->
    <div class="export"> <!-- SKIP this one -->
        <!-- Content -->
    </div>
</div>
<div class="export"> <!-- Select this one -->
    <!-- Some more content -->
</div>

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Вы можете использовать :not() селектор для запроса, чтобы пропустить соответствующий запрос в селекторе.

$('.export:not(.export >)')
0 голосов
/ 15 ноября 2018

Вы можете получить их, используя метод jQuery .not(), например:

console.log($(".export").not(".export .export").length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="export">
  <!-- Select this one -->
  <div class="export">
    <!-- SKIP this one -->
    <!-- Content -->
  </div>
</div>
<div class="export">
  <!-- Select this one -->
  <!-- Some more content -->
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...