Вместо того, чтобы устанавливать отдельные атрибуты CSS, рассмотрите возможность использования классов.
Ваш пример потребует трех классов CSS (два из которых имеют одинаковое определение)
.menu{
background: url(images/slider_bg.png) repeat-x;
}
.hoverMenu, .selectedMenu{
background: url(images/slider_bg_hover.png) repeat-x;
}
$('#menu a').hover(function() {
$(this).addClass('menu');
},function(){
$(this).addClass( 'hoverMenu' );
});
$('#menu a').click(function() {
$('#menu a').removeClass( 'selectedMenu' );
$(this).addClass('selectedMenu');
});
Когда у элемента есть два класса, которые конфликтуют друг с другом, я думаю, что тот, который идет последним, в определениях CSS, это тот, который вступает в силу. Это немного поздно для меня, чтобы проверить это, но вы можете поменять классы, чтобы посмотреть, какой путь работает лучше всего.