如何为动态变化的表设置索引?

2024-01-11

我创建了一个表单,您可以在其中使用 javascript 和 jQuery 添加或删除表行。我想知道如何获取和设置每个表行的索引,以便即使我从表中间删除元素也能保持顺序。该表的形式为:

<thead>
    <tr>
        <th>Index</th>
        <th>Name</th>
        <th>Property</th>
        <th>Edit/Delete</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td class="index">Index goes here (1)</td>
        <td>NameOne</td>
        <td>PropOne</td>
        <td><span class="edit">Edit Icon</span> <span class="delete">Delete Icon</span></td>
    </tr>
    <tr>
        <td class="index">2</td>
        <td>NameTwo</td>
        <td>PropTwo</td>
        <td><span class="edit">Edit Icon</span> <span class="delete">Delete Icon</span></td>
    </tr>
    <tr>
        <td class="index">3</td>
        <td>NameThree</td>
        <td>PropThree</td>
        <td><span class="edit">Edit Icon</span> <span class="delete">Delete Icon</span></td>
    </tr>
</tbody>

现在我想要实现的是,如果我要删除第二行,前第三行的索引应该自动更改为 2,如果我要添加新元素,它应该自动采用索引值 3 等等。

我试图通过以下方式实现这一目标:

function setIndex(){
   $("td.index").each(function(index) {
       $(this).text(++index);
   });
}

但是,当我使用上述函数时,尽管添加元素时的初始索引正确打印,但当我在删除或编辑行后再次调用该函数时,索引将无法正确更新(我使用 jQuery 删除删除了该行)。

我还使用 jQuery append() 创建新的表行。

我认为虽然我使用了remove(),但它们并没有被完全删除,就像我在setIndex()中使用console.log(“test”)语句一样,尽管“test”只应该打印两次(我最初有创建了 3 行并删除了其中一行)它打印了三次,表示有 3 个 tr.index。

请帮我解决同样的问题。


你可以使用CSScounter-reset https://developer.mozilla.org/en-US/docs/Web/CSS/counter-reset and content https://developer.mozilla.org/en-US/docs/Web/CSS/content特性。

计数器重置属性允许对元素进行自动编号.
它适用于任何元素。

计数器重置属性用于reset给定值的 CSS 计数器。 它将命名计数器设置为特定值。

body{
  counter-reset: Serial;           /* Set the Serial counter to 0 */
}

table{
  border-collapse: collapse;
}

tr td:first-child:before{
  counter-increment: Serial;      /* Increment the Serial counter */
  content:counter(Serial);        /* Display the counter */
}
<table border="1">
  <thead>
    <tr>
      <th>Automatic Serial number</th>
      <th>Column 1</th>
      <th>Column 2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
    <tr>
      <td></td>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
  </tbody>
</table>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为动态变化的表设置索引? 的相关文章

  • React 应用程序中的 addEventListener 不起作用

    一些背景 我正在尝试消费自定义网络组件在 React 应用程序中并尝试监听来自 Web 组件的事件 我相信您不能只在自定义 Web 组件上以通常的反应方式处理事件 i e
  • 在按钮之间添加空间?

    嗨 我这里有一个代码 除了一件事之外 一切都很完美 代码中每个按钮之间没有空格 我尝试过 margin 但不幸的是它是一个无序列表 所以我有点困惑 我将添加或替换什么以在两个按钮之间留出空间 帮助
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • html canvas动画卡顿

    谁能解释为什么提供的画布动画断断续续 我创建了一个测试存根来演示该问题 我在桌面上的 FF Chrome IE 以及 Android 上的 FF 和 Chrome 中看到了卡顿现象 口吃是由于垃圾收集造成的吗 似乎 raf 在每次调用时都会
  • JavaScript:常量属性

    在javascript中 我可以将对象的属性声明为常量吗 这是一个示例对象 var XU Cc Components classes or function aXU this Cc Components classes var XU new
  • 避免在 ES6 的函数内定位 this 的对象作用域

    例如 我正在使用 D3 js 运行一个项目 导入特定模块并调用它们的函数 Setup TypeScript ES6 导入特定的 D3 组件 角6 我有一个对象 在本例中是一个角度指令 并在 SVG 画布上绘制一些圆圈 并希望它们在拖动事件上
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • Firebase 身份验证在 iOS 登录时卡住,没有错误

    我已经使用电子邮件和密码设置了 firebase 身份验证登录的最基本实现 firebase auth signInWithEmailAndPassword email password then gt console log Logged
  • 类型“void”不可分配给类型“((event:MouseEvent) => void) |不明确的'

    import as React from react import App css import PageTwo from components PageTwo export interface IPropsk data Array
  • 如何防止弹性项目高度因其内容而溢出[重复]

    这个问题在这里已经有答案了 我刚刚开始学习 Flex 到目前为止我印象深刻 但是 我对包含页眉 页脚和三列的全页应用程序遇到了问题 第一列包含一个项目列表 由于我无法为其父级设置固定高度 因此每次列表增长时 它都会将页脚向下推 这是一个带有
  • put方法中的Angularjs文件上传不起作用

    我有一个简单的待办事项应用程序 我试图在其中上传照片和单个待办事项 现在我已经创建了这个工厂函数来负责待办事项的创建 todosFactory insertTodo function todo return http post baseUr
  • 将 window.location 传递给 Flask url_for

    我正在使用 python 在我的页面上 当匿名用户转到登录页面时 我想将一个变量传递到后端 以便它指示用户来自哪里 发送 URL 因此 当用户单击此锚链接时 a href Sign in a 我想发送用户当前所在页面的当前 URL
  • @aspnet/signalr 与 @microsoft/signalr javascript 库

    aspnet signalr 与 microsoft signalr javascript 库有什么区别 两者似乎都对 DotNetCore SignalR 有效 两者似乎都很活跃 在一些教程中 我找到 aspnet signalr 在Do
  • jQuery 悬停时滚动到 div 并返回到第一个元素

    我基本上有一个具有设定尺寸的 div 和overflow hidden 该 div 包含 7 个子 div 但一次只显示一个 我希望当它们各自的链接悬停时能够平滑地垂直滚动 但是 第一部分 div 没有链接 并且是没有悬停链接时的默认部分
  • Twitter bootstrap 3表单水平和单行多个输入列

    我需要将多列输入放在单行中 如下所示 我通过将多个输入分组为一个来做到这一点form group 但是这样我不能使用has error class div class form group div
  • CSS - div 与父 div 底部对齐(内联块)

    我知道这个 html 很草率 有一些不必要的额外 div 但无论如何 我无法理解为什么 ID 为 info box right 的 div 与父 div 的底部对齐 您可以看到 文本 与下面的 jsfiddle 示例的底部 有什么想法可以让
  • 如何使用 JavaScript 获取元素的填充值?

    我有一个textarea在我的 HTML 中 我需要获取整数或浮点形式的填充数值 以像素为单位 我如何使用 JavaScript 获取它 我没有使用 jQuery 所以我正在寻找纯 JavaScript 解决方案 这将返回padding l
  • 使用 AJAX 和 JQuery 按设定的时间间隔刷新 Rails 部分

    I have a page in my rails application that looks like 现在 我有另一个用 python 编码的人工智能应用程序 它处理视频 显示在 Rails 应用程序页面的左侧 并使用捕获的车辆及其相
  • 具有固定顶部菜单的语义 UI 侧边栏

    Semantic UI 对其进行预警侧边栏页面 http semantic ui com modules sidebar html usage 当侧边栏出现时 固定位置内容可能会出现改变其位置的问题 然后它提供了该问题的两种可能的解决方案
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax

随机推荐

  • Telerik MVC Extensions Grid - 如何将网格过滤器应用于初始 LINQ 查询或传递到数据库?

    目前 在我的 MVC 网格中 我使用普通的服务器绑定 然后将过滤器作为查询字符串附加到 URL 此方法的问题是 如果我查询默认情况下有数千条记录的网格 但我只在网格的第一页 分页过滤器 上显示前 30 条记录 同样的事情也适用于姓氏的字符串
  • Servlet 中的参数化构造函数

    我可以在 servlet 中声明参数化构造函数吗 如果没有那么为什么 No Servlet 实例由容器通过反射创建 它们期望找到一个公共的 无参数的构造函数 默认构造函数 要配置 servlet 请使用 web xml 文件中指定的 ser
  • 具有多个数据库的 SSAS 立方体

    我有 3 个具有相同结构但数据不同的数据库 因为它们来自不同的客户端 现在 我有一个现有的 SSAS 项目 其数据源视图 多维数据集和维度只能使用或访问一个数据库 我想要的是能够使用具有相同结构的多个数据库 并使用它们创建一个多维数据集 每
  • 奇怪的指向成员函数的指针语法

    我了解如何声明函数的类型 typedef void typedef void f typedef void f is void using alias void f void alias void f is void 它可以用来声明函数指针
  • 在 JPA Criteria API 的子查询中使用 ORDER BY 的替代方法有哪些?

    考虑以下两个表 Project id project name Status id id project status name Where Status包含所有状态 其中Project已经是 假设我们要查询最新状态名称为 new 的所有项
  • 了解 Django CSRF_COOKIE_SAMESITE 和 CSRF_TRUSTED_ORIGINS

    显然 我无法理解跨域环境中 Django 2 2 4 设置对 CSRF 参数的影响 正如我已经注意到的那样 我必须设置SESSION COOKIE SAMESITE None如果我想将我的 Django 应用程序放入具有另一个域的网站的 i
  • symfony2自定义表单日期时间渲染

    我有一个表单 其中的日期时间呈现为 5 个选择输入 d MM YYYY H i builder gt add date datetime array data gt new DateTime now default value format
  • 使用jquery进行POST,如何正确提供'data'参数?

    我想以 POST 方式进行 ajax 调用 它将转到我的 servlet 我想发送参数化数据 如下所示 var mydata param0 some text param1 some more text 我将其作为 jquery ajax
  • Node.js在typeorm实体中添加created_at和updated_at

    I have task像这样的实体 import BaseEntity Column Entity PrimaryGeneratedColumn from typeorm Entity export class Task extends B
  • 如何自定义 Jenkins 构建名称?

    当我在 Jenkins 中运行作业时 每个构建都会被赋予一个名称 该名称显示在构建历史记录的 UI 中 基本上是当前日期和时间 我希望能够在那里输入构建参数 以便我可以在构建历史记录中看到哪些分支已构建以及何时构建 我已经搜索过可以执行此操
  • 将 Vue 与 Django 结合使用

    我最近开始使用 Django 开发一些社交媒体网站 我使用默认的django模板引擎来填充我的页面 但此刻我想补充一点javascript使网站更具活力 这意味着 页眉和页脚是每页都一样 标题应该有一个下拉菜单 一个在您键入时进行搜索的搜索
  • 带有包装内容项的 RecyclerView

    我需要实现下一个 UI 元素 未知大小的字符串列表 来自服务器调用 任何项目都应该是包装内容 如果某个项目不适合该行 则该项目将位于下一行 所有列表 网格均居中 我想用RecyclerView with StaggeredGridLayou
  • vite 构建始终使用静态路径

    我有一个简单的设置 包含一个 index html 一些 js 文件和一个 sass 文件 并使用 vite 构建它 我使用的是 vite 默认值 没有配置文件 运行构建后 dist 文件夹中的 index html 将所有内容引用为静态路
  • 将 XPath 与 Perl 结合使用

    我正在尝试复制我的C XPath代码在 Linux 上使用 Perl 执行 我将示例 8 6 中的代码复制并粘贴到Perl 和 XML http oreilly com catalog 9780596002053 如果我理解正确 我应该能够
  • Cloud Firestore:不同查询上的同一文档。是按分开阅读收费吗?

    我已阅读有关如何操作的文档write read在 Firebase 中是收费的 假设我有 20 项待办事项列表project id作为钥匙 todosRef onSnapshot 将被计为20 reads 我用新属性更新了待办事项 todo
  • 使用 apache-poi 4.0.1 库将单元格内容的某些部分设置为粗体/斜体

    我想用粗体和斜体的组合来设置单元格值的内容 就像 这是Sample content 但是 这不适用于 XSSFrichTextString 我正在使用 apache poi 库版本 4 0 1 我尝试使用 XSSFRichTextStrin
  • 为什么在 Common Lisp 中,当我运行参数为 1 的函数“acos”时,答案是错误的?

    当我运行 acos 1 来查找 1 emacs 的反余弦时 我得到了答案 而不是正确答案 0 6 125742f 17 为什么会这样以及如何得到 0 的正确答案 就像 Windows 计算器所说的那样 我在 Windows 8 上使用 SB
  • Spark - 从嵌套数组中的结构中选择列时出错

    更新 我在 JSON 中添加了更多详细信息 struct c 和 array t 以便更清楚地了解异常的位置 再会 我有一个带有结构类型嵌套数组的 Spark DataFrame 我想从该结构中选择一列 但收到错误消息 org apache
  • 在 Splinter 中获取 href 值?

    我想得到href价值来自 a Splinter 中的元素 有没有相关的api方法 如果您使用find by 方法 http splinter cobrateam info docs api driver and element api ht
  • 如何为动态变化的表设置索引?

    我创建了一个表单 您可以在其中使用 javascript 和 jQuery 添加或删除表行 我想知道如何获取和设置每个表行的索引 以便即使我从表中间删除元素也能保持顺序 该表的形式为 thead tr th Index th th Name