@tunikov
Frontend dev

Как убрать из набора элемент и всех его детей?

Есть событие, которое должно отрабатывать на всех элементах, кроме избранных. Я пытался использовать фильтр :not и метод .not(), но они исключают только элементы, соответствующие селектору, а все дети исключаемых элементов, остаются в наборе, и обработчик события на них, естественно, срабатывает.
Перечислять всех детей исключаемых элементов невероятно долго. Есть ли способ исключить из набора не только нужные элементы, но и всех их детей?
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 2
tvolf
@tvolf
Интересно, а такой вариант

$('.top').not('.exclude, .exclude > *')....

сработает ? То есть, из требуемых элементов исключаем все элементы с классом exclude и всех детей (в данном случае прямых потомков) элементов с классом .exclude.
Ответ написан
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Как насчет добавить только нужным элементам класс, и ловить событие на этот класс? Причем никто не мешает добавлять/удалять класс динамически...

Разумеется при таком подходе событие ловить лучше через $(document).on(/event/, /class/, function() {... });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы