javascript - 单击查找元素并打开最近的模式窗口

标签 javascript jquery jquery-selectors

我在单击按钮时无法找到与按钮相关的元素。

对于某些上下文,我正在循环浏览产品。每个产品都有自己的模态窗口,因此我希望在单击类名 .quick-cart 的按钮时能够打开与产品相关的模态窗口。

这是我必须尝试执行此操作的 JS:

$('.quick-cart').click(function() {
  var modal = $(this).parent('.product-item').siblings().find(".md-modal");
  $(modal).addClass('md-show');
  $('.md-overlay').addClass('show');
  $('html,body').addClass('no-scroll');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="product">
  <div class="product-item">
    <div class="product-item-container">
      <div class="product-item-show-scroll">
        <div class="product-item__content">
          <h3>Title</h3>
          <div class="product-item__img">
            <img src="#">
          </div>
        </div>
      </div>
      <div class="product-item-under-scroll">
        <div class="btn__group">
          <button class="quick-cart">Quick Cart</button>
        </div>
      </div>
    </div>
    <div class="product-item__bottom">
      <p class="price">Price</p>
    </div>
  </div>
  <div class="md-modal">
    Modal content for product
  </div>
</div>

最佳答案

你并不真的需要 sibling 并找到。接下来就可以了

var model = $(this).closest('.product-item').next(".md-modal");

关于javascript - 单击查找元素并打开最近的模式窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45032493/

相关文章:

javascript - Alfresco:用 Java 和 Javascript 编写的 Web 脚本 url 映射的行为不同

javascript - 需要帮助验证文本框的特定长度和内容

javascript - jsPlumb 连接器不可拖动

jquery - jQuery 真正支持哪些 CSS3 选择器,例如:nth-last-child()?

javascript - 检索并修改 :before element with jQuery

jquery-selectors - 如何使用 Cheerio 访问包含不同属性值的 DOM 属性?

javascript - SPA - 将客户端与服务器分离

javascript - Firebase - 动态或更改 orderByChild 变量

javascript - 如何用jquery获取Youtube视频信息

javascript - 在不使用 ID 或类的情况下使用 jQuery 修改 CSS