0

我试图在删除一行后突出显示表中的所有偶数行。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");

有任何想法吗?

4

2 回答 2

1

我认为使用 JQuery 的延迟功能非常适合您的情况。

于 2011-01-20T18:48:08.647 回答
0

如果您不介意不支持 IE < 9 并且可以选择 CSS3,则可以使用nth-child伪类并完全避免该问题:

#table_id tbody tr:nth-child(even) { background-color: yellow; }

去掉trs 不影响伪类的应用:http: //jsfiddle.net/axWYj/

于 2011-01-21T01:17:56.410 回答