Jquery如何将类附加到生成的数组数字中?



我有一个包含数字数组的变量:

var columnRange = []
for (var i = 0; i <= 19; i++) {
columnRange.push(i)
}

所以这返回 0,1,2,3 等,直到 19。

现在我使用每个数组项将类添加到 0 - 19 范围内的列:

$('td:eq(' + columnRange + ')', row).addClass("Red");

但是,它不能按预期工作,因为columnRange包含[0,1,2,3 etc until 19]

我如何获得替代品:

$('td:eq(0)', row).addClass("Red");
$('td:eq(2)', row).addClass("Red");
etc [long code]

您可以使用 jQueryslice方法:

$('td', row).slice(0, 20).addClass("Red");

请注意,slice的第二个参数是您要选择的范围之后的第一个索引,在此示例中,包含 19,不包括 20。

不像使用slice()那么简洁,但您也可以使用filter()

$('td', row).filter(i => columnRange.includes(i)).addClass("Red");