2011-02-02 4 views
2

интересно, может ли кто-нибудь помочь;JQuery background image css change not working

Я пытаюсь изменить фоновое изображение элемента через jquery следующим образом;

$j(this).css('background-image','url(images/client_box_grad.gif)'); 

Однако, когда он делает это, кажется, падение речевых меток вокруг URL-адрес, например,

$j(this).css('background-image','url("images/client_box_grad.gif")'); 

И это означает, что изображение не видно - если удалить речевые метки в Firebug, то изображение появляется.

Любые идеи?

Благодаря

ответ

5

двойные кавычки не нужны:

$(this).css('background-image', 'url(/images/client_box_grad.gif)'); 

Вы должны убедиться, что вы указали правильный адрес изображения. Here's a demo.

+1

Приветствие Дарины - это работает, когда я придерживаюсь абсолютного пути, я хотел бы использовать относительную Pathing, если это возможно, так как он сидел в wordpress install, где все было сделано относительно, так что ничего не сломалось, когда я застрял в нем из моей области dev. Я могу жить с этим, если я не могу использовать какую-либо форму относительного пути. Также, похоже, в двойные кавычки добавляется часть замены - их нет в каком-либо коде. – frazzle

2

Попробуйте эти:

$(this).css('background-image','url(images/client_box_grad.gif)'); 

// OR 
$(this).css('background', 'url("images/client_box_grad.gif")'); 
2

Это то, что я должен был сделать, чтобы заставить его работать:

$(function(){ 
$('body').css({backgroundImage : 'url(/media/bill.jpg)'}); 
}); 
+1

Я пробовал все другие способы, упомянутые в других ответах. Меня никто не работал. Но ваше решение работает как прелесть для меня. –