Исключение элемента из выборки

322
09 августа 2017, 21:58

Как селектором :not или методом not() исключить из обернутого набора вложенный элемент? Есть такая структура:

<a class="link">
  <div>
    <img></img>
  </div>
  <i></i>
</a>

Как с jQuery выбрать .link, при этом, чтобы дальнейшие манипуляции с ним не затронули вложенный i? Грубо говоря, чтобы когда по клику на иконке не срабатывал тот же обработчик, что висит на .link. Я как-то так пробую, но не выходит:

$('.link:not(i)').click(function(e) {
}
Answer 1

Например так. C помощью e.target и .is узнаём, на что кликнули, и если это i, то ничего не делаем (return false;).

$(".link").click(function(e) { 
  if ($(e.target).is('i')) { 
    return false; 
  } 
  console.log("click!"); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script> 
<div class="link"> 
  <div>click</div> 
  <i>не click</i> 
</div>

READ ALSO
Как реализовать MVC на Express.js?

Как реализовать MVC на Express.js?

Никак не могу разобраться, как реализовать модели в Expressjs? Подскажите ресурсы, где описано, как это сделать

327
Сохранение данных об удалении

Сохранение данных об удалении

Есть ряд элементов, при клике по каждому, оно должно удаляться таким образом, что после перезагрузки страницы, элемент будет отсутствоватьСамо...

330
Не отсылается сообщение с переменной, &ldquo;Could not establish connection. Receiving end does not exist.&rdquo;

Не отсылается сообщение с переменной, “Could not establish connection. Receiving end does not exist.”

Необходимо чтобы Chrome-плагин работал просто в фонеНо никак не могу послать переменную, множество похожих тем просмотрел и всё как в их решениях...

358