JQuery 仅针对特定 class 的一个元素的事件

JQuery event for only one element of a specific class

我是 jQuery 的新手,似乎无法理解如何自己解决这个问题。

问题是,当我用相同的 class 按下一个元素 (div) 时,所有其他元素也会打开。 这是显示问题的 gif。 - https://gyazo.com/8315d69878d7e5efb5a699798343b278

      <div class="middle-side">
        <div class="items"><img src="img/services/1.jpg" alt="">
          <div class="blue-img"></div>
        </div>
        <div class="items"><img src="img/services/2.jpg" alt="">
          <div class="blue-img"></div>
        </div>
        <div class="items"><img src="img/services/3.jpg" alt="">
          <div class="blue-img"></div>
        </div>
      </div>
$(document).ready(() => {
    $('.items').on('click', () => {
        $('.blue-img').slideToggle();
    })
})

问题是因为您选择了点击处理程序中的所有 .blue-img 元素。

要解决此问题,请使用 this 关键字来引用单击的 .items 元素,然后 find() 引用其中的 div。试试这个:

$(document).ready(() => {
  $('.items').on('click', (e) => {
    $(e.target).find('.blue-img').slideToggle();
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="middle-side">
  <div class="items">
    A
    <img src="img/services/1.jpg" alt="">
    <div class="blue-img">Blue-img A</div>
  </div>
  <div class="items">
    B
    <img src="img/services/2.jpg" alt="">
    <div class="blue-img">Blue-img B</div>
  </div>
  <div class="items">
    C
    <img src="img/services/3.jpg" alt="">
    <div class="blue-img">Blue-img C</div>
  </div>
</div>