【问题标题】:Toggling elements with identical class names visible/invisible for only those clicked on切换具有相同类名的元素仅对那些单击的元素可见/不可见
【发布时间】:2012-12-22 18:19:57
【问题描述】:
<ul>
  <li>
    <div class="single-toggle">|Toggle|</div>
    <div class="visible-when-folded">
      <div class="name">Peter</div>
      <div class="date">3 january 1984</div>
    </div>
    <div class="invisible-when-folded">
      <div class="about">Funny guy</div>
      <div class="contact_info">0879876745</div>
    </div>
  </li>

  <li>
    <div class="single-toggle">|Toggle|</div>
    <div class="visible-when-folded">
      <div class="name">David</div>
      <div class="date">17 April 1988</div>
    </div>
    <div class="invisible-when-folded">
      <div class="about">Jackass</div>
      <div class="contact_info">0979876345</div>
    </div>    
  </li>
</ul>

想要的结果

当我点击|Toggle| 元素时,只有div.invisible-when-folded 中的元素会在相应的li 元素中消失。

我的尝试

单击this code 中的|Toggle| 可同时在两个li 元素中切换div 不可见/可见。如何让它只切换我点击的切换的li

【问题讨论】:

    标签: jquery


    【解决方案1】:

    选择具有该类的单击元素的所有(以下)同级:

    $(this).nextAll('.invisible-when-folded').toggle();
    

    DEMO

    看看 jQuery 的traversal methods.

    【讨论】:

    • +1 表示您意识到(并承认)您阅读问题的速度太快,并对告诉您的人 +1。
    【解决方案2】:

    怎么样:

    $(".single-toggle").click(function(){ 
      $(this).closest('li').find('.invisible-when-folded').toggle(); 
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多