我有一个通过 Cold Fusion 输出的动态表。表格创建得很好,但我正在做的一件事是使用 JavaScript 获取表格的 outerHTML 并将其分配给隐藏元素值。问题是隐藏元素值需要每个表最多包含 20 行,并且原始表中的总数可以是可变的。我需要将表的 outerHTML 读入一个 Javascript 变量并遍历内容并在 20 行后结束表,然后创建一个新表并继续将剩余的行添加到新表中。有什么建议吗?
最佳答案
所以你在服务器上有 ColdFusion 输出一个包含很多行的表,你想在客户端使用 jQuery 把那个大表分成许多小表,对吧?如果是这样,这是一种方法:
示例:jsfiddle
var rows = $('#content tr');
var maxTableSize = 3;
while (rows.length) {
var newRows = rows.splice(0, maxTableSize);
$('<table><tbody>').append(newRows).appendTo('#output');
}
$('#content').remove();
无论您的 DOM 是什么,您都需要对其进行调整——这是一个显示它有效的快速示例,但您可能需要它以稍微不同的方式工作,所以如果这不是您想要的,请考虑发布一个 jsfiddle。请注意,重复附加到 DOM 是低效的,因为它会触发大量重绘(浏览器端)。我想让这个示例保持简单——稍后您可以阅读有关如何使用 DOM 高效操作的更多信息。
最好的办法是修改服务器端代码以根据需要吐出表格!
关于javascript - 在这么多行之后结束表并开始新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16084298/