jQuery:如何获取元素的特定子集?

我必须在网页上显示一个表格,然后打印出来。此语句检索表行:

var rows = $element.find(".row");

假设这会产生 50 行。现在要求是:

  • 每个打印页应该有 20 行

  • 每个打印页面都必须显示列标题,它们位于rows[0]rows[1]

因此,我需要遍历rows集合,以便循环为我提供每页正确的子集,如下所示:

var printRows = rows.slice(0, 2) + rows.slice(2, 22); //values for page 1
var printRows = rows.slice(0, 2) + rows.slice(22, 42); //values for page 2
var printRows = rows.slice(0, 2) + rows.slice(42, 52); //values for page 3

我知道如何创建循环。问题是这些行不是有效的 jQuery。我怎样才能获得我需要的行的子集?

谢谢!


凤凰求蛊
浏览 137回答 1
1回答

慕田峪7331174

尽管 jQuery 对象并不是真正的数组,但它们可以像使用数组一样使用,既可以像slice您已经做过的那样使用,也可以使用...(spread) 运算符。slice这是一个使用和...获取所需项目的示例。它使用数组,但也可以使用包含 DOM 元素的 jQuery 对象。const pageLength = 20;const pageCount = 5;const rows = [];while (rows.length < pageCount * pageLength - 10) rows.push(rows.length);for (let page = 1; page <= pageCount; page++) {&nbsp; var result = [&nbsp; &nbsp; ...rows.slice(0, 2),&nbsp; &nbsp; ...rows.slice(2 + (page - 1) * pageLength, 2 + page * pageLength)&nbsp; ];&nbsp; console.log("Page " + page + ":", result.toString());}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript