2014-10-01 61 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