Jquery 删除表行后高亮显示表行

Jquery 删除表行后高亮显示表行,jquery,addclass,removeclass,Jquery,Addclass,Removeclass,我试图在删除一行后突出显示表中的所有偶数行。tr被删除,但重新高亮显示不起作用(我将高亮显示的两行放在一起)。这是我的密码 $( "#tr_id" ).remove(); // re-highlight table rows $("#table_id" ).removeClass("highlight"); $("#table_id tbody tr:even" ).addClass("highlight"); 但是,如果我添加了一个警报或其他东西来降低删除和突出显示之间的执行速度,它就会

我试图在删除一行后突出显示表中的所有偶数行。tr被删除,但重新高亮显示不起作用(我将高亮显示的两行放在一起)。这是我的密码

$( "#tr_id" ).remove();

// re-highlight table rows 
$("#table_id" ).removeClass("highlight");
$("#table_id tbody tr:even" ).addClass("highlight");
但是,如果我添加了一个警报或其他东西来降低删除和突出显示之间的执行速度,它就会起作用

$( "#tr_id" ).remove();

alert( 'slow execution' );

// re-highlight table rows 
$("#table_id" ).removeClass("highlight");
$("#table_id tbody tr:even" ).addClass("highlight");

有什么想法吗?

我认为使用JQuery的函数非常适合您的情况。

如果您不介意不支持IE<9,并且CSS3是一个选项,您可以使用伪类并完全避免这个问题:

#table_id tbody tr:nth child(偶数){背景色:黄色;}


删除
tr
s不会影响伪类的应用:

您的代码就是这样吗?我认为.remove()应该以串行方式工作,因此不需要回调。谢谢Jasie,你说得对。对不起,这是我的愚蠢。代码的工作原理与上面所写的一样,但在我的实际代码中,我在ajax.success函数中使用了remove(),并在下面重新突出显示代码。我将我的重新突出显示代码移到success函数中,它当然起作用了。