1

我有一个 1000 行的 html 表。我想在客户端上对这些行进行排序/搜索。数据来自网络服务。
现在,我正在考虑添加每页 100 行的分页,但客户端性能很差。(我正在考虑做类似display:none;的事情:隐藏行。

现在,我开始四处寻找这种方法的一些实现,并发现数据表允许您在不先将这些行添加到 dom 的情况下进行排序/搜索客户端。 http://datatables.net/ 我在开发人员控制台中查看了生成的 dom,但仍然无法弄清楚它们是如何隐藏行的。有任何想法吗?

4

2 回答 2

0

即使事物在 DOM 中不可见,它们也存在。

通过查看他们的代码,他们似乎将其存储在 DataTable 实例的成员变量中。在那里,他们可以在不使用 DOM 的情况下自由操作数据,这也可能会加快速度。

于 2013-05-18T20:58:39.950 回答
0

我在开发人员控制台中查看了生成的 dom,但仍然无法弄清楚它们是如何隐藏行的。有任何想法吗?

JS 代码将表格读入 javascript 变量,特别是读入变量 oSettings.aoData。

从那里,它们实际上只加载需要查看的表格元素,因此它们实际上并没有隐藏和取消隐藏行(即使用 dispaly:none) - 表格行实际上从 DOM 中删除,存储为 javascript 对象,并加载根据需要进入 DOM 或从 DOM 中删除。

于 2013-05-18T21:15:46.380 回答