我正在使用jquery ui sortable。重新排列行时,我想将行颜色重置为斑马条纹。这是我正在使用的代码。
function reset_rows() {
$("#rank tbody tr").removeClass("row1","row2");
$("#rank tbody tr:even").addClass("row1");
}
$("#rank tbody").sortable({
update : function() {
reset_rows();
}
});
该函数添加正确的行颜色,然后立即将它们全部删除。如何获取jquery首先删除行类然后将row1类添加回偶数行?它首先添加row1类,无论我在代码中使用函数的顺序是什么。
答案 0 :(得分:1)
我想知道你的CSS或某些东西是否有什么东西,因为基本上这应该有效。不过我认为我的做法略有不同:
$('tbody').sortable({
update: function() {
$('tr:odd').removeClass("even").addClass("odd");
$('tr:even').removeClass("odd").addClass("even");
}
});
(显然你会想要包含那些选择器,我只是在我的示例页面上做了一切。)
你真的不需要两个类(如果我误读了这个并且你实际上并没有使用两个类,我很抱歉),你可以将一个类应用于(比方说)偶数行,这样可以更简单:
$('tbody').sortable({
update: function() {
$('tr:odd').removeClass("even");
$('tr:even').addClass("even");
}
});
偏离主题,但我假设您正在使用JavaScript和类执行此操作,因为您必须支持无法直接使用CSS的nth-child
伪类等的浏览器...(可悲的是,IE6仍然是生活的现实,不是吗?:-))
答案 1 :(得分:0)
尝试使用此语法
$('rank tbody tr:even').addClass(function() {
$("#rank tbody tr").removeClass("row1","row2");
return "row1";
});