Удаление класса родителя при нажатии на дочерний элемент

249
28 апреля 2018, 16:15

Есть вот такая разметка

<div class="list">'
 <div class="m">1</div>
 <div>2</div>
 <div>3</div>
 <div>4</div>
</div>

Изначально .list div:not[class="m"] {display: none;}, но при нажатии на .list этот класс получает ещё один класс, допустим .active. А .acive div {display: none !important;}

JQ выглядит примерно так

$('.list').on('click',function(){
 $(this).addClass('.active');
});

Как сделать так, чтобы при нажатии на див с классом m, удалялся класс active, с учётом того, что подобных "списков" (list), может быть несколько и чтобы остальные не "откликались".

Пытался сделать так:

$('.list').on('click',function(){
 var $nav = $(this);
 $nav.addClass('active');
 $(this).find('.m').on('click',function(
  $nav.removeClass('active');
 ));
});

Но это не работает в принципе.

Answer 1
$(document).on("click", "div.list div.m", function(){
  $(this).closest("div.list").removeClass('active');
});
READ ALSO
Один объект на две формы

Один объект на две формы

Существует способ, с помощью которого можно разместить один и тот же объект на 2 формы?

252
Как менять Location List&lt;Point&gt; Location.X Location.Y?

Как менять Location List<Point> Location.X Location.Y?

Как менять координаты моего листа из поинтов?

247
Эмуляция мышки и клавиатуры на уровне интерфейса PS/2

Эмуляция мышки и клавиатуры на уровне интерфейса PS/2

Перепробовал различные методы для имитации нажатий клавиатуры и мышки (mouse_event и SendInput) , но данные API не работают в необходимом мне DirectX приложении,...

232