Для начала у вас есть несколько элементов на странице с одинаковым идентификатором.Идентификаторы элементов должны быть уникальными.Даже если вы правильно поняли логику, это не сработает.Лучше было бы полностью пропустить идентификаторы и использовать классы: один класс для магазина и один для категории, хотя выглядит так, как будто вы можете сделать часть магазина позиционно - вычислите строку / столбец в таблице и выделите ту же строку/ столбец в другой таблице.Классы были бы проще, хотя.Вы также можете использовать идентификаторы для фактических столбцов магазина - которые соответствуют классу для селектора магазина.
Обратите внимание, я бы использовал CSS-классы для подсветки, а не для непосредственного изменения CSS на элементе.,Это облегчит сброс цветов на любых ранее выделенных элементах.
<style type="text/css">
.highlight { background-color: #FFFF00; }
</style>
$('.shop-selector').hover( function() {
$('.shop').removeClass('highlight');
var shop = $(this).attr('class').replace( '/\s*\.shop-selector\s*/','' );
$('#' + shop).addClass('highlight');
},
function() {
var shop = $(this).attr('class').replace( '/\s*\.shop-selector\s*/','' );
$('#' + shop).removeClass('highlight');
}
});
Тогда столбцы вашей таблицы селекторов будут выглядеть так.
<td class="shop-selector shop1">1</td>
<td class="shop-selector shop2">2</td>
, а столбец вашего магазина -
<td id="shop1" class="shop">Shop 1</td>
<td id="shop2" class="shop">Shop 2</td>
Для ваших категорий вы должны вместо этого создать классы идентификаторов групп и сделать что-то подобное.