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

标签 jquery class events element

我是 jQuery 新手,似乎不明白如何自己解决这个问题。

问题是,当我按下具有相同类的一个元素(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>

关于仅针对特定类的一个元素的 JQuery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56392797/

相关文章:

c++ - Qt 连接事件到非 QObject 类型

javascript - 将动态验证文本添加到自定义 jQuery 验证规则

javascript - Jquery ajax 调用返回 URL 并加载到框架或 div 中

c# - 父控件鼠标进入/离开事件与子控件

python - 返回匿名类或对象用作 'struct' 更好吗?

c++ - 是否可以重用构造函数?

用 python 编写的类似 Javascript 的 TCP 套接字客户端?

javascript - AngularJS服务中 undefined object

javascript - 使用 jQuery 读取 div 内容会跳过 HTML、head 和 body 标签

python - 如何在类对象中为 `dtype`参数引发错误