我有一张包含备用颜色行的表。
$("#contTbl tr:even").addClass("altBgr");
我有一个执行某些事务的函数,在AJAX发布后删除了该行。
$(".clickMe").click(function() {
var trID = $(this).closest("tr").attr("id");
$.ajax({
url: "ajax.php",
type: "POST",
data: {
contID: trID
},
success: function(data){
$("#"+trID).remove();
}
});
});
我遇到的问题是当我删除一行时,其他行的颜色变得乱序...有没有办法在删除时以某种方式刷新它?
答案 0 :(得分:2)
如何删除点击上的class
并将其添加回成功检索?
$(".clickMe").click(function() {
var trID = $(this).closest("tr").attr("id");
$.ajax({
url: "ajax.php",
type: "POST",
data: {
contID: trID
},
success: function(data){
$("#"+trID).remove();
$("#contTbl tr:even").removeClass("altBgr");
$("#contTbl tr:even").addClass("altBgr");
}
});
});
已编辑:根据我自己的评论
您可以尝试将removeClass()和addClass()放入 成功:看看是否能消除闪烁
答案 1 :(得分:1)
您可以将它放在一个函数中并再次调用它(在再次添加它们之前不要忘记删除它们。)
或者使用CSS通过:nth-child
...
tr:nth-child(even) td {
background: #f03;
}
...请记住< IE 9不会很好玩。
答案 2 :(得分:0)
您可以创建如下函数:
function set_odd_even(){
alert($("table tr"));
$.each($("table tr"), function(index, value){
alert(value);
$(value).removeClass('even');
if(index % 2){
$(value).addClass('even');
}
});
}
然后在成功事件中调用它:
success: function(data){
$("#"+trID).remove();
set_odd_even();
}