How to stop this spread

0

I have sent this exercise in classes and I have about 3 days without being able to stop this spread, I have tried to stop the spread everywhere and without any result, the idea is that when you click on the heart, or the comment on each image, the parent link (.meals_link) of all the elements is triggered ... hopefully they can guide me, I have tried with almost all the selectors that came to me '

$(function(){

    $('button').on('click', 'i.fa-heart', function(event){
    event.stopPropagation();
    event.stopImmediatePropagation();
    $('.social__like').toggleClass('social__like--clicked');
  });

  $('button').on('click','i.fa-comment-alt', function(event){
    event.stopPropagation();
    event.stopImmediatePropagation();
    alert($(this).parent().parent().parent().parent().attr('href'));
  });

  $('ul.social').on('click','li.social__element', function(event){
    event.stopPropagation();
  })
  $('a').on('click','ul.social', function(event){
    event.stopPropagation();
  })
  $('li.meals__meal').on('click','a', function(event){
    event.stopPropagation();
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="meals__meal">
  <a href="../_assets/images/meal/04.jpg" class="meals__link">
    <img src="../_assets/images/meal/04.jpg" alt="Comida 01" class="meals__img">
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
  </a>
</li>


<li class="meals__meal">
  <a href="../_assets/images/meal/05.jpg" class="meals__link">
    <img src="../_assets/images/meal/05.jpg" alt="Comida 01" class="meals__img">
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
  </a>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/06.jpg" class="meals__link">
    <img src="../_assets/images/meal/06.jpg" alt="Comida 01" class="meals__img">
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
  </a>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/07.jpg" class="meals__link">
    <img src="../_assets/images/meal/07.jpg" alt="Comida 01" class="meals__img">
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
  </a>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/08.jpg" class="meals__link">
    <img src="../_assets/images/meal/08.jpg" alt="Comida 01" class="meals__img">
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
  </a>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/09.jpg" class="meals__link">
    <img src="../_assets/images/meal/09.jpg" alt="Comida 01" class="meals__img">
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
  </a>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/10.jpg" class="meals__link">
    <img src="../_assets/images/meal/10.jpg" alt="Comida 01" class="meals__img">
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
  </a>
</li>
    
asked by Zahid Galea 17.07.2018 в 04:40
source

1 answer

0

I'm not sure if this is going to help you because you may have been told that you have to get it only with jQuery, I asked you in my comment if you can edit the html and you have not answered me. If you can edit the html you can easily get it by closing the a tag after the image, because as you have it the link occupies the image and the two buttons so the link is active in all your children. Your example without using jQuery closing the a after the image:

<li class="meals__meal">
  <a href="../_assets/images/meal/04.jpg" class="meals__link">
    <img src="../_assets/images/meal/04.jpg" alt="Comida 01" class="meals__img">
    </a>
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
</li>


<li class="meals__meal">
  <a href="../_assets/images/meal/05.jpg" class="meals__link">
    <img src="../_assets/images/meal/05.jpg" alt="Comida 01" class="meals__img">
    </a>
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/06.jpg" class="meals__link">
    <img src="../_assets/images/meal/06.jpg" alt="Comida 01" class="meals__img">
    </a>
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/07.jpg" class="meals__link">
    <img src="../_assets/images/meal/07.jpg" alt="Comida 01" class="meals__img">
    </a>
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/08.jpg" class="meals__link">
    <img src="../_assets/images/meal/08.jpg" alt="Comida 01" class="meals__img">
    </a>
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/09.jpg" class="meals__link">
    <img src="../_assets/images/meal/09.jpg" alt="Comida 01" class="meals__img">
    </a>
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
</li>

<li class="meals__meal">
  <a href="../_assets/images/meal/10.jpg" class="meals__link">
    <img src="../_assets/images/meal/10.jpg" alt="Comida 01" class="meals__img">
    </a>
    <ul class="social">
      <li class="social__element"><button class="social__btn social__link" href="#"><i class="fas fa-comment-alt"></i></button></li>
      <li class="social__element"><button class="social__btn social__like" href="#"><i class="fas fa-heart"></i></button></li>
    </ul>
</li>
    
answered by 18.07.2018 в 13:16