当前位置: 首页 > 知识库问答 >
问题:

如何在jQuery中使表默认关闭?

方博
2023-03-14

我正在运行一个表的示例代码,默认情况下折叠,现在我通过打开表获得它,所以我的要求是显示表默认关闭,我的意思是+符号,如果我再次单击,我应该能够切换表。

null

$(document).ready(function() {
  $('tr.header').click(function() {
    $(this).find('span').text(function(_, value) {
      return value == '-' ? '+' : '-'
    });
    $(this).nextUntil('tr.header').slideToggle(100, function() {});
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-lg-12 pt-5  pt-lg-5 order-2 order-lg-1">
  <h4 style="text-align:left;">teams at a accepted rate </h4>
  <tr class="header">
    <th colspan="2"> <span id="spantexttoggle">-</span></th>
  </tr>

  <table class="table table-bordered table-striped" align="center">
    <thead>
      <tr>
        <th scope="col">team1 </th>
        <th scope="col">team2 </th>
        <th scope="col">Team3 </th>
        <th scope="col">team4 </th>
        <th scope="col">team5 </th>
        <th scope="col">team6 </th>
        <th scope="col">team7 </th>
      </tr>
    </thead>
    <tbody>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>

    </tbody>
  </table>
</div>

null

共有1个答案

金亦
2023-03-14

代码的几个问题:

  1. 您的在表之外
  2. 不是要使用正确控件; 改用anchor或button元素
  3. 还有,为什么在元素上调用click方法,而不是最初以正确的方式设置所有内容? 还是仅仅因为你想在页面加载上有滑动效果?

我修复了JS代码,使展开/折叠(希望)按预期工作。 您应该注意使用正确的HTML标记和正确的元素

代码:

null

$(document).ready(function() {
  $('#spantexttoggle').on('click', function() {
    $(this).text($(this).text() === '-' ? '+' : '-');
    $(this).next('table').slideToggle(100, function() {});
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-lg-12 pt-5  pt-lg-5 order-2 order-lg-1">
  <h4 style="text-align:left;">teams at a accepted rate </h4>
  <span id="spantexttoggle">+</span>
  <table style="display:none;" class="table table-bordered table-striped" align="center">
    <thead>
      <tr>
        <th scope="col">team1 </th>
        <th scope="col">team2 </th>
        <th scope="col">Team3 </th>
        <th scope="col">team4 </th>
        <th scope="col">team5 </th>
        <th scope="col">team6 </th>
        <th scope="col">team7 </th>
      </tr>
    </thead>
    <tbody>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>
      <td> accept</td>

    </tbody>
  </table>
</div>
 类似资料:
  • 问题内容: 我的下拉列表中有很多选项,例如: 我需要选择在标签中有价值 的是我自己的 选项,而不是按属性。 我该如何使用jQuery? 问题答案: 如果您想为此使用jQuery,请尝试以下代码。 更新: 在Vivek发表评论后,正确指出了steven spielberg想通过其Text值选择该选项。 下面是更新的代码。 您需要使用选择器通过包含的文本进行查找。 当获取和设置属性时,jQuery p

  • 问题内容: 我有一个包含标识列和代表创建日期的列的表: 由于标识列本身会生成一个值,而CreationDate始终将是当前日期(),因此我可以添加一行,这要归功于: 但是,如果我想添加三个记录,该怎么办? 当前解决方案(编辑了一些输入,因为它没有任何意义) 现在,为了做我想做的,我添加了几行: 虽然,我更希望知道多行的等效项,以防稍后添加另一列具有默认值的列。 有没有办法用或类似的方法将N行插入表

  • 我实现了一个在另一个堆栈溢出post上找到的方法,允许使用jQuery展开和折叠表行。该方法很简单,工作正常,但我遇到了缺省情况下扩展行的问题。我如何使这些在页面加载时显示为折叠的,以便用户可以决定展开哪些? 作为一个附带说明,有没有什么方法使折叠/展开看起来更平滑,而不是只是瞬间打开或关闭? 谢谢!

  • 问题内容: 我想使用Java获取本地计算机的默认网关。我知道如何通过执行dos或shell命令来获取它,但是还有其他获取方法吗?还需要获取主要和辅助dns ip。 问题答案: 没有简单的方法可以做到这一点。您必须调用本地系统命令并解析输出,或者读取配置文件或注册表。我知道没有一种独立于平台的方式可以实现此目的- 如果要在所有平台上运行,则必须为linux,mac和Windows进行编码。 请参阅如

  • 问题内容: 我的对象是: 函数的类别是: 当我尝试使用此功能时: 它不和我一起工作,有帮助吗?!!! 问题答案: 我用这个类来解决这个问题: 然后我用这个功能来使用它

  • 问题内容: 我修改了一个表格,以这种方式向其中添加状态列 但是,对于创建的任何新ITEM,SQLite似乎都不会将N添加到该列中。语法是否错误,或者SQLite及其对默认值的支持是否存在任何问题。 我正在使用SQLite 3.6.22 问题答案: 对我来说看上去很好。 这是文档。 转储您的模式,并 在调用ALTER TABLE之后但在INSERT之前 验证 表结构是否存在。如果它在事务中,请 确保

  • 我对ActiveMQ非常陌生,希望能在设置tomEE的默认内部ActiveMQ代理方面提供一些帮助。具体来说,任何一本书的样本。xml将非常有用。

  • 问题内容: 我正在尝试创建一个非常有用的等效列表。以下设计效果很好: 使用方法如下: 我应该添加什么到默认列表中以支持以下行为? 问题答案: 在给出的示例中,您首先尝试检索列表中不存在的值,就像这样做一样,Python首先检索列表中的第三个(索引2)元素,然后继续在该列表中获取名为“ a”的元素对象-因此,您还必须实现对方法的自动扩展行为,如下所示: