Jquery背景图片CSS更改无效

7
我正在尝试通过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中删除引号,则该图片将显示出来。
有任何想法吗?
3个回答

10
双引号不是必需的:
$(this).css('background-image', 'url(/images/client_box_grad.gif)');

请确保您指定了有效的图像URL。 这里有一个演示


1
谢谢Darin - 当我加上绝对路径时它可以工作,如果可能的话,我想使用相对路径,因为它坐落在一个WordPress安装中,其中所有内容都是相对的,所以当我从我的开发区域将其实时化时不会出现任何问题。如果不能使用任何形式的相对路径,我可以接受这一点。此外,它似乎会添加双引号作为替换的一部分 - 它们在任何代码中都不存在。 - frazzle

6
这是我必须做的才能让其正常工作的步骤:
$(function(){
$('body').css({backgroundImage : 'url(/media/bill.jpg)'});
});

1
我尝试了其他答案中提到的所有方法,但都没有对我起作用。但是你的解决方案对我来说就像魔法一样奏效。 - Akshay Pethani

2

尝试以下方法:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接