当div不在同一代码块中时jquery切换具有相同类的一个div

标签 jquery html css

我有一个非常简单的问题,但我找不到解决方案。我发现了许多关于使用 .parent()、.next()、.find() 的引用,但它们都没有达到我的预期。以太坊所有具有相同类名的 div 都同时展开和折叠,或者根本不起作用。

所以我在这里寻找的是具有相同的类名,并且仅展开和折叠我单击的类名。我有这样的东西:

HTML:

<table>
  <tr>
    <td><div class="expand">More Details</div></td>
  <tr/>
  <tr>
    <td>
      <div class="extras" style="display:none;">
        <table>
          <tr><td>Some Data</td></tr>
        </table>
      </div>
    </td>
  </tr>
  <tr>
    <td><div class="expand">More Details</div></td>
  <tr/>
  <tr>
    <td>
      <div class="extras" style="display:none;">
        <table>
          <tr><td>Some Data</td></tr>
        </table>
      </div>
    </td>
  </tr>
</table>

jQuery:

$(".expand").click(function() {
    $(".extras").toggle();
});

当我只想在“展开”div 中单击以触发下面的“extras”div 时,这将展开和折叠所有它们。

最佳答案

$(".expand").click(function() {
    $(this).closest("tr").next("tr").find(".extras").toggle();
});

意思是:

$(this)           // Start from here
.closest("tr")    // go up
.next("tr")       // go to next
.find(".extras")  // find element
.toggle();        // do tha thing

关于当div不在同一代码块中时jquery切换具有相同类的一个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39460589/

相关文章:

jquery - 通过jquery创建cookie

css - 为什么 a1 div 需要放在 nav 标签周围

css - 边距的替代填充 : auto

javascript - 更改正文背景颜色。单击以在整个站点范围内应用并在刷新时应用?

javascript - 使用 css :nth-child selector 对列表项进行样式化

javascript - 在erb中显示js函数的结果

jQuery Mobile .delegate() 未触发

javascript - jQuery .hover() 似乎在一段时间后为 "disappear"

html - 未应用悬停时的 Css 样式

javascript - 多输入框如何使用虚拟键盘?