javascript - jQuery 找到最接近的类来显示一个 div

标签 javascript html css

我的切换有一个小问题。我有一堆是和否的答案,根据他们是否单击是或否,会出现更多问题。在我不得不将一些是和否问题移到已经回答的问题中之前,这一直很好用。

我的 html 看起来有点像这样

 <div class="form-group">
    <label for="authorCover">
        Are you amazing? (Optional)
    </label>
    <button class="btn btn-small btn-success coverBtn yesBtn">Yes</button>
    <button class="btn btn-small btn-danger coverBtn noBtn">No</button>
    <p class="clearix"></p>
    <div class="answYes">
      <label for="upload">
        Please Upload your amazing here!
      </label>
      <input type="file" class="form-control" name="upload" value="" />
    </div><!--.answYes-->
    <div class="answNo">


   <div class="form-group">
     <label for="authorCover">
        Are you awesome? (Optional)
     </label>
     <button class="btn btn-small btn-success coverBtn yesBtn">Yes</button>
     <button class="btn btn-small btn-danger coverBtn noBtn">No</button>
     <p class="clearix"></p>
     <div class="answYes">
       <label for="awesome">
        Please Upload your awesomeness here
       </label>
       <input type="file" class="form-control" name="awesome" value="" />
     </div><!--.answYes-->
     <div class="answNo">no</div>
   </div><!--.form-group-->
  </div><!--.answNo-->
</div><!--.form-group-->

我的 jQuery 看起来像这样

$('.yesBtn').on('click', function(){
  $(this).parent().find('.answYes').toggle();
  $(this).parent().find('.answNo').hide();
  return false;
});

$('.noBtn').on('click', function(){
  $(this).parent().find('.answNo').toggle();
  $(this).parent().find('.answYes').hide();
  return false;
});

为了更清楚一点,我制作了一个 jsFiddel http://jsfiddle.net/pusKM/

任何帮助都会很棒!

最佳答案

尝试使用 .closest('.form-group') 而不是 .parent()

$('.yesBtn').on('click', function () {
    $(this).closest('.form-group').find('.answYes').toggle();
    $(this).closest('.form-group').find('.answNo').hide();
    return false;
});
$('.noBtn').on('click', function () {
    $(this).closest('.form-group').find('.answNo:first').toggle();
    $(this).closest('.form-group').find('.answYes').hide();
    return false;
});

jsFiddle example

关于javascript - jQuery 找到最接近的类来显示一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20356267/

相关文章:

jquery 工具提示在我的网站上没有响应,但在 jsfiddle 中工作正常

html - 响应式滚动图像

javascript - Fancybox 将链接添加到弹出图像

javascript - 将阿拉伯语或希伯来语文本与拉丁语混合时出现括号问题

javascript - 无法在箭头函数中调用 useState Hook

html - 将 iFrame 的左边缘对齐到 -100?

javascript - 单选按钮单击是显示英语并单击不显示孟加拉语

javascript - Q promise 带下划线 .find()

javascript - 使用 Typescript 在 Material-UI 中的 createMuiTheme 中将属性添加到背景 Prop

JavaScript 时钟无法正确显示