2014-10-01 63 views
0

我想用jQuery添加CSS背景图片,但似乎无法弄清楚如何。我想我沿着正确的线路是,但我不知道...jQuery - 使用变量更改背景图片?

var bgImg = "http://www.domain.com/my-image.jpg"; 

$('#myBanner').css("background", "url("+bgImg+");"); 

下面是它不工作小提琴: http://jsfiddle.net/qLqvtkp3/

任何帮助将是巨大的!

+4

卸下';'中的字符串 – 2014-10-01 13:16:27

+0

^^此。所有其他答案都是矫枉过正,而不是突出实际问题。 – Archer 2014-10-01 13:23:34

+0

完美!谢谢! – Nick 2014-10-01 13:23:43

回答

5

您需要删除;中的字符串中。它使规则无效,并且jQuery不会在style属性中添加无效规则。

$('#myBanner').css("background", "url("+bgImg+")"); 

http://jsfiddle.net/qLqvtkp3/17/

+0

+1,好的斑点,我认为与CSS的颜色等,OP想要背景图像,那么它应该是背景图像。 – SSA 2014-10-01 13:29:35

+0

@SSA它依赖,他可能想覆盖整个背景属性。换句话说,不要粉红色的背景。 – 2014-10-01 13:31:31

+1

准确地说,我认为它不同于你做的。你已经从我的+1中找到';'。 – SSA 2014-10-01 13:33:30

3

这样做:

$('#myBanner').css({ 
       "background-image": "url('" + bgImg + "')" 
}); 

Fiddle

3

更换backgroundbackground-image

$('#myBanner').css("background-image","url('"+bgImg+"')"); 
+0

@ Karl-AndréGagnon谢谢你,我更新了。 – PSR 2014-10-01 13:19:10

+0

谢谢你的编辑 – PSR 2014-10-01 13:20:58

1

代码中的问题: -

1) - 您有连接您的字符串以错误的方式。

2) - 您使用的是背景。您应该使用background-image

3) - 你已经在你的jQuery CSS代码编写;"url("+bgImg+");")

试试这个: -

var bgImg = "http://www.domain.com/my-image.jpg"; 

$('#myBanner').css({"background-image":"url('"+bgImg+"')"}); 
+0

不行,这不是(主要)问题。 – 2014-10-01 13:18:11

+0

cummon ..然后应该是什么解决方案..你告诉@ Karl-AndréGagnon – 2014-10-01 13:19:06

+0

看到我对这个问题的评论! – 2014-10-01 13:19:22