我有一个包含数字数组的变量:
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");