首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个表中的<td>在<tr>中的计数

多个表中的<td>在<tr>中的计数
EN

Stack Overflow用户
提问于 2018-09-19 16:44:57
回答 2查看 748关注 0票数 0

在我看来,我有四张桌子。对于每个表,我都使用jQuery数据表,因此,对于我在视图中显示的一条记录,如下所示:

我有什么

代码语言:javascript
运行
复制
var countAllTablesRows = $("table tbody.teu-tbody tr").length;
console.log("Total Rows In Every Table on Page - " + countAllTablesRows);
var rowCountMinusOne = countAllTablesRows - 1;
console.log("Total Rows In Every Table on Page Minus One - " + rowCountMinusOne);

我的目标

当用户单击"Delete“链接时,我希望计数每个表tbody元素中的所有行。但是,我只想在有实际数据的情况下计算表行。不是只有一行表示“表中没有可用数据”的表。

我想也许使用.each()只获取不包含“表中没有可用数据”的表,但我不知道如何攻击它。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-19 17:08:27

在使用DataTables时,有几个datatable选项可以返回表中的行数。

rows().count()是一种方式。如果您想要获得给定特定情况下的表行数,例如所选行数,这是非常方便的。

代码语言:javascript
运行
复制
var table = $("#table-selector")
table.DataTable().rows().count()

.data()是另一种方式。.data()以数组的形式返回表中的所有数据,您可以从其中调用.length来获取数组的长度。

代码语言:javascript
运行
复制
var table = $("#table-selector")
table.DataTable().data().length

以上两种方法的工作方式是相同的。.data()只返回表中的所有数据,而.rows()可能返回或不返回所有数据,因为您可以为.rows()函数提供特定的选择器。在这两种情况下,您都可以使用.length.count()。你有一些灵活性。

由于您有多个表,所以可以修改其中的任何一个,以便一次从所有表中获取数据。

代码语言:javascript
运行
复制
var table = $("#table-selector, #table-selector-two, #table-selector-three")
table.DataTable().rows().count()

此片段将提供表#表-选择器、表-选择器-2和表-选择器-3的计数。如果您有一个适用于所有这些人的公共类,这也是可行的。您没有提供HTML,所以我只能猜测您是如何选择表的。

票数 1
EN

Stack Overflow用户

发布于 2018-09-19 16:59:10

您可以使用JQuery ':not‘和':contains’过滤您的行,如下所示:

代码语言:javascript
运行
复制
var countAllTablesRows = $("table tbody.teu-tbody tr:not:contains(No data)").length;

这将过滤行,因此只有不包含文本“无数据”的行才会被计数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52410644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档