首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery($(this).parent()发现不工作

jQuery($(this).parent()发现不工作
EN

Stack Overflow用户
提问于 2018-03-01 14:21:52
回答 2查看 1.1K关注 0票数 0

我似乎无法让jquery在我的产品网格上找到工作。知道我能怎么安排吗?

代码语言:javascript
代码运行次数:0
运行
复制
<div id="sold-out" style="margin-top: 10px">
  <a class="grid-view-item__link grid-view-item__image-container" href=
  "/products/moringa-and-coconut-soap"></a>
  <form accept-charset="UTF-8" action="/contact#contact_form" class=
  "contact-form" id="contact_form" method="post" name="contact_form">
    <a class="grid-view-item__link grid-view-item__image-container" href=
    "/products/moringa-and-coconut-soap"><input name="form_type" type="hidden"
    value="contact"><input name="utf8" type="hidden" value="✓"></a>
    <p><a class="grid-view-item__link grid-view-item__image-container" href=
    "/products/moringa-and-coconut-soap"></a><a class=
    "product-page-notify-me notify-me" href="#" style="color: #788188;">Email
    me when available</a></p>
    <div class="clearfix notify-me-wrapper" style="display:none">
      <input class="styled-input" name="contact[email]" placeholder=
      "your@email.com" required="required" style="float:left; width:100%;"
      type="email" value=""> <input name="contact[body]" type="hidden" value=
      "Please notify me when Moringa and Coconut Soap becomes available.">
      <input class="btn styled-submit" style="float:left;" type="submit" value=
      "Send">
    </div>
  </form>
</div>

Javascript代码:

代码语言:javascript
代码运行次数:0
运行
复制
jQuery('.notify-me').click(function() {
  alert('hello');
  jQuery($(this).parent().find('.notify-me-wrapper').fadeIn());           
  return false;
});

但是,我的另一个页面上的代码(目标是一个项目)运行良好:

代码语言:javascript
代码运行次数:0
运行
复制
jQuery('#notify-me').click(function() {

jQuery('#notify-me-wrapper').fadeIn();           

return false;
} );
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-01 14:25:17

.notify-me的父元素是p元素,此元素不包含带calss notify-me-wrapper的任何子代。

您可能希望使用closest,这样您就可以搜索您确信它包含了类notify-me-wrapper的元素的最近的祖先。

代码语言:javascript
代码运行次数:0
运行
复制
$(this).closest('.contact-form').find('.notify-me-wrapper').fadeIn()

jQuery.closest()

对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先,获得与选择器匹配的第一个元素。

票数 6
EN

Stack Overflow用户

发布于 2018-03-01 14:27:21

.notify-me的父级是一个p标记(段落),您要查找的元素是下一个同级。因此,改变:

代码语言:javascript
代码运行次数:0
运行
复制
jQuery($(this).parent().find('.notify-me-wrapper').fadeIn());    

通过以下方式:

代码语言:javascript
代码运行次数:0
运行
复制
jQuery($(this).parent().next('.notify-me-wrapper').fadeIn());

.find()更改.next()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49051728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档