gpt4 book ai didi

jquery - jquery 中的交替行着色

转载 作者:行者123 更新时间:2023-12-03 22:44:42 25 4
gpt4 key购买 nike

我有一个可以展开和折叠行的表,并且可以对列进行排序。下面是我的代码,有什么方法可以提高其性能。并读取将完整的行组附加到 dom 中可以提高性能,但是如果我在 $.each() 循环之外这样做,则会抛出错误。 teble demo

var alt = true;
var altSub = true;

$.each(myData, function(index, row) {

var noRow = $(row).length;
var firstRow = $(row[0]);

for (var i=0; i < noRow; i++) {
if(firstRow.attr('id') == $(row[i]).attr('id')) {
if(alt == true) {
firstRow.removeClass("odd").addClass("even");
alt = !alt;
altSub = true;
} else if( alt == false) {
firstRow.removeClass("even").addClass("odd");
alt = !alt;
altSub = true;
}
} else {
if(altSub == true) {
$(row[i]).removeClass("alt_row_sub").addClass("alt_row_sub2");
altSub = !altSub;
} else if( altSub == false) {
$(row[i]).removeClass("alt_row_sub2").addClass("alt_row_sub");
altSub = !altSub;
}
}
}
$table.children('tbody').append(row);
});

link text

最佳答案

您可能会找到 :even:odd选择器很有用。

然后你可以像这样使用它们:

$('.stripyTable tr:even').addClass('even');
$('.stripyTable tr:odd').addClass('odd');
$('.stripyTable .submenu tr:even').addClass('alt_row_sub');
$('.stripyTable .submenu tr:odd').addClass('alt_row_sub2');

另一个要考虑的事情是你是否可以仅使用 CSS 获得不同的子部分样式,然后在 JS 中你只需要担心应用奇数/偶数类。 CSS 可能类似于:

.odd { background-color: blue; }
.even { background-color: white; }
.sub .odd { background-color: green; }
.sub .even { background-color: yellow; }

关于jquery - jquery 中的交替行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/979669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com