javascript - 无法得到 jquery parentsUntil 工作

标签 javascript jquery html css

我一直在尝试使用 jquery parentsUntil 方法来隐藏按钮,直到选中一个单选框,但我似乎无法让它工作。这可能是显而易见的事情,但它已经困扰了我几天了。任何人都可以看到我做错了什么。

 (function($) {
 $(function(){
   $('.last-item').change(function() {
     if( $(this).val() != '' ) {
       $(this).parentsUntil('.step').find('.button-next').removeClass('hide');   
       $(this).parentsUntil('.step').find('.button-next').addClass('show');   
       console.log("changing the last item");
     }

   });

 });
})(jQuery);
.hide {
    display: none;
}

.show {
    display: block !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 <div class="step">
 <h1>Step 3 - Personal</h1>                    
   <div class="input-wrapper radio no-feedback">
     <div class="row no-gutter content-position-outer">
       <div class="col-md-6 content-center-inner">
         <label for="gender">What gender are you? <sup>*</sup></label>
       </div>
       <div class="col-md-6 content-center-inner">
         <div class="row">
           <div class="col-md-5 col-md-offset-2">
             <label class="radio-sex" for="gender_male">
               <input class="sr-only last-item" type="radio" placeholder="Male" name="gender" value="Male" id="gender_male" required="required" />
               <div class="radio-img radio-img-sex-male"></div>
                                            Male
                                        </label>
           </div>
           <div class="col-md-5">
             <label class="radio-sex" for="gender_female">
               <input class="sr-only last-item" type="radio" placeholder="Female" name="gender" value="Female" id="gender_female" required="required" />
               <div class="radio-img radio-img-sex-female"></div>
                                            Female
             </label>
           </div> 
         </div>
       </div>
     </div>
   </div>
   <div class="row">
     <div class="col-md-3">
       <a href="" class="button-prev" data-progress="2" data-step="step-2">Previous</a>
     </div>
     <div class="col-md-3 col-md-push-6">
       <a href="" class="button-next hide" data-progress="4" data-step="step-4">Next</a>
     </div>
   </div>            
</div>

JS Fiddle

最佳答案

.parentsUntil()获取“当前匹配元素集中每个元素的祖先,直到但不包括选择器匹配的元素,”。

尝试 .closest()相反

关于javascript - 无法得到 jquery parentsUntil 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39318269/

相关文章:

javascript - JavaScript/Ajax 文本中的随机单词

javascript - 如何将多个值存储到一个可重用变量中 - ReactJs

jquery - 如何使用 jquery 将数组值分配到动态创建的文本框中?

javascript - javascript/jquery 中 .results 函数和 .result 函数之间的区别?

html 5 上的 JavaScript

html - 在 HTML 元素中引用时,ID 或类的字符长度是否有限制?

javascript - 将 onclick 事件添加到 jquery 中的单选按钮

javascript - 在不更改 html 元素的情况下操作 jQuery 对象

jquery - 在输入焦点上更改占位符范围的字体颜色

javascript - 在 node.js 中引用 *documentation* @return 语句