Изменить цвет :hover элемента через jquery

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
416
Реакции
49
На странице цвет элементов меняется динамически (пользователь выбирает цвет).

В связи с этим jquery выборка не работает
Код:
$('#nav ul a:hover').css("background", menu + 'url(/images/menu-gradient.png) repeat-x 0 -100px');
(в переменной menu хранится цвет).

Как правильно переписать этот участок кода? В чем ошибка, ведь аналогичный код без :hover работает нормально.
 
Как-то так:

Код:
$('#nav ul a').hover(
    function() {
        $(this).css("background", menu);
    }, function () {
        $(this).css("background", "#fff");
});

Или так:

Код:
$('#nav ul a').on({
    mouseover: function() {
        $(this).css("background", menu);
    },
    mouseleave: function () {
        $(this).css("background", "#fff");
}});

Проверил на jsfiddle - работает.
 
  • Заблокирован
  • #3
Код:
var bg = $('#nav ul a').css('background');
$('#nav ul a').hover(function() {
    $(this).css('background', menu + ' url(/images/menu-gradient.png) repeat-x 0 -100px');
}, function() {
    $(this).css('background', bg);
});
 
Назад
Сверху