Привет!
У меня такая конструкция: есть n блоков с бекграундами. У каждого свой. При mouseenter они пропадают. При mouseleave обратно появляются. 
Мне интересно: кто сталкивался с неявным заданием URL-адреса в .css()???
Можно ли его задавать в виде строковой переменной???
Я забиваю все изображения в массив
array arr=array(n);
     arr[0]=' \'url(images/image0.png)  no-repeat\' ';
     arr[1]=' \'url(images/image1.png)  no-repeat\' ';
     ...
     arr[n]=' \'url(images/imagen.png) no-repeat\' ';
Дальше организую обработку событий
$('.block').on({
                        mouseenter: function() {
                                          $(this).css('backgroundImage', 'none');
                                                         },
 
                        mouseleave: function() {
                                              var number = $('.block').index(this);
                                              $(this).css('background', arr[number]);
                                                         }
        });
Таким образом я узнаю индекс блока в наборе и в качестве URL в .css()	забиваю элемент массива с указанием соответствующего пути.
Таким образом - Ничего не работает! Поэтому и обращаюсь к вашему опыту.