Немного общего решения:
Допустим, я хочу иметь простой способ создания таблиц со строками, которые будут выделяться, когда я наведу на них указатель мыши. В идеальном мире это было бы очень легко, с одним простым правилом CSS:
tr:hover { background: red; }
К сожалению, более старые версии IE не поддерживают: наведите курсор на элементы, отличные от A. Поэтому мы должны использовать JavaScript.
В этом случае я определю класс таблицы «подсветимый», чтобы пометить таблицы, которые должны иметь строки с возможностью перемещения. Я сделаю переключение фона, добавив и удалив класс «highlight» в строке таблицы.
CSS
table.highlightable tr.highlight { background: red; }
JavaScript (с использованием прототипа)
// when document loads
document.observe( 'dom:loaded', function() {
// find all rows in highlightable table
$$( 'table.highlightable tr' ).each( function( row ) {
// add/remove class "highlight" when mouse enters/leaves
row.observe( 'mouseover', function( evt ) { evt.element().addClassName( 'highlight' ) } );
row.observe( 'mouseout', function( evt ) { evt.element().removeClassName( 'highlight' ) } );
} );
} )
HTML
Все, что вам нужно сделать сейчас, это добавить класс "highlightable" в любую таблицу, которую вы хотите:
<table class="highlightable">
...
</table>