выделение строк таблицы после удаления строки таблицы - PullRequest
0 голосов
/ 20 января 2011

Я пытаюсь выделить все четные строки в таблице после удаления строки. 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");

Есть идеи?

Ответы [ 2 ]

1 голос
/ 20 января 2011

Я думаю, использование функции JQuery delay идеально подходит для вашей ситуации.

0 голосов
/ 21 января 2011

Если вы не возражаете против того, чтобы не поддерживать IE <9, и CSS3 является опцией, вы можете использовать псевдокласс <a href="http://www.quirksmode.org/css/nthchild.html" rel="nofollow">nth-child и вообще избежать этой проблемы:

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

Удаление tr s не влияет на применение псевдокласса: http://jsfiddle.net/axWYj/

...