javascript - 仅切换给定 div 中的内容

标签 javascript jquery html

我有一个关于按下按钮后使用切换功能的问题。我有以下 jQuery 代码:

$(function () {
    $('.navigation').click(function () {                                
        $(".expand, .collapse").toggle();
    });
});

这与以下 HTML 完美结合:

<div class="container">
  <div class="title">
      <div class="navigation">
        <span class="expand">
          expand          
        </span>
        <span class="collapse">
          collapse          
        </span>
      </div>
  </div>
</div>

但是每当我有这种 HTML 格式时:

<div class="container">
  <div class="title">
      <div class="navigation">
        <span class="expand">
          expand          
        </span>
        <span class="collapse">
          collapse          
        </span>
      </div>
  </div>
</div>

<div class="container">
  <div class="title">
      <div class="navigation">
        <span class="expand">
          expand          
        </span>
        <span class="collapse">
          collapse          
        </span>
      </div>
  </div>
</div>

切换应用于两个容器,这是合乎逻辑的,但不是我们想要的。我怎么能只触发按下的导航按钮的 sibling ?

我试过类似的方法:

$(this).next(".expand, .collapse").toggle();

但这行不通。任何帮助表示赞赏!

DEMO HERE

最佳答案

你的想法是对的;您需要使用 this 关键字来引用引发事件的元素并找到它相关的 .expand.collapse 元素,但是 next() 查找兄弟元素,而您需要检索的元素是子元素,因此您需要使用 find():

$(function () {
    $('.navigation').click(function () {                                
        $(this).find(".expand, .collapse").toggle();
    });
});

Updated fiddle

关于javascript - 仅切换给定 div 中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36981945/

相关文章:

javascript - 如果 Google Ajax API 不可用(因为 Google 不允许在本地安装它),最好的回退是什么?

html - 自定义数据属性的 CSS 选择器?

jquery - 单击时获取当前元素

javascript - Google map API 和 HTML 5

javascript - 加载到页面后使用图像

javascript - 平滑滚动到 anchor 标记并关注第一个字段表单

java - 如何在 HttpClient 或 Html 单元中调用 javascript

javascript - 如何从javascript中的对象中删除时间?

javascript - Javascript + Youtube API

javascript - 动态替换/重新渲染 Twitter 搜索源