[英]how to alternate multiple row colors in table when i know number of rows to color and table length in advance
我正在嘗試為表中的多行替換顏色。 事先我知道要突出顯示的行數,例如array(8,8,9)告訴我,我希望前8行使用一種顏色,而后8行使用交替顏色,而后9行使用第一種顏色再次上色。 表格長度為25行。 我的表將更改,並且我要着色的行可以是array(4,4,5,5,5)。 用javascript做到這一點的最佳方法是什么,還是有jquery解決方案? 我試圖做循環無濟於事。
CSS足以做到這一點。 不需要javascript和jQuery。
tr:nth-child(even) {
background-color: blue;
}
tr:nth-child(odd) {
background-color: green;
}
請參考現場演示
這樣的事情會起作用:
var arr = [8, 8, 9];
var $tr = $('table tr');
var index = 0;
$.each(arr, function(i, el) {
index = i > 0 ? arr[i - 1] + index : 0;
$tr.slice(index, index + el).addClass(i % 2 ? 'even' : 'odd');
});
關鍵是將樣式應用於指定的tr
范圍的切片方法。
或使用for
循環的另一個版本:
for (var index = 0, i = 0; i < arr.length; index += arr[++i - 1] || 0) {
$tr.slice(index, index + arr[i]).addClass(i % 2 ? 'even' : 'odd');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.