javascript - 如何在 JavaScript 中切换特定的 div

标签 javascript jquery css-selectors

我的 Rails View 中有动态数据,所有 div 都具有相同的名称; 'allData',其中有很多信息,所以我没有显示它,我想在单击显示时显示该特定的 div 而不是所有 div,但它显示所有 div,我希望能够仅显示该目标 div我点击了

  $('.show'').on('click', (event) =>{ 
        $('.allData').toggle();
        $(event.currentTarget).closest('.allData').toggle(); 
    })
<div class='eachData'>
  <div class='header'>
    <div class='show'> show</div>
    <div class='numberOfdata'> 100</div>
  </div>  
  <div class='allData; display:none'>
    "foobar all data is here"
  </div>
</div>
<div class='eachData'>
  .......
</div>
<div class='eachData'>
  .......
</div>

最佳答案

您的closest call 是在正确的轨道上,但你没有完全正确地使用它。首先,您要找到包含 .eachData 的容器 ( <div class="show"> ) ,您使用 closest 为此:

let container = $(event.currentTarget).closest('.eachData');

然后你在 container 中搜索对于.allData您想使用 find 进行切换:

container.find('.allData').toggle();

所以你使用closest进入节点树,然后 find回来。


顺便说一句,这个:

<div class='allData; display:none'>

应该是:

<div class="allData" style="display: none">

class属性包含由空格分隔的 CSS 类名,原始 CSS 位于 style 中属性并用分号分隔。

关于javascript - 如何在 JavaScript 中切换特定的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53135053/

相关文章:

JavaScript - 获取 URL 路径的一部分

javascript - 从 div 到 div 的 Angular 移动指令

html - 是否存在 CSS ":drop-hover"伪类?

javascript - 使用jquery查找不包含 "ul"元素的 "li"元素

javascript - 使用 javascript/jquery 强制输入文本字段

javascript - Protractor :我需要等到组件显示在屏幕上

javascript - 如何设置 ESLint 规则来识别函数是否为驼峰命名法?

javascript - 如何从未隐藏的第一个复选框中获取值

javascript - 如何查看浏览器是否支持CSS通用兄弟选择器~

css - 第一个 child 在 tbody 中不起作用?