2013-03-20 65 views
2

我想使用coffeescript和jquery设置di​​v的背景图像。我以表格/images/album_image1.jpg的形式从DOM中的数据源获取图像网址。coffeescript和jquery为背景图片生成完整的url?

然而,当我使用:

$('.selector').css({'backgroundImage', "url(#{image_url}"}) 

的CoffeeScript/jQuery的产生URL与主机:

url(http://host.com/images/album_image1.jpg) 

此外,Firefox将用引号括起来,而URL Chrome将不会引用URL。

在这里看到:JSBin

我希望得到的结果url(/images/album_image1.jpg),即没有主机部分和不带引号。我希望得到后者的结果,以便通过我的测试使用茉莉花。

回答

0

嗯,你是你想要javascipt的输出文本与'+something+'这样:

var image_url = $('img').data('img'); 
image_url = str.split(".com"); //split returns an array of everything after the regex: .com 
image_url = image_url[1]; 
$('.selector').css('backgroundImage', "url("+image_url+")"); 

编辑

So if you want to remove the leading url from the returned string you would use split: 

var str = 'http://jsbin.com/images/image_album1.jpg' 
str = 
image_url = str.split(".com"); //split returns an array of everything after the regex: .com 
str[1]; ///images/image_album1.jpg 

希望这有助于?但我已经更新了上面的内容,所以对你的情况有帮助。

+0

不知道这是答案是有帮助的,不是你的小提琴在那里。之前没有工作。要在你的小提琴输出文字看起来很好。 – 2013-03-20 16:21:07

+0

'“url(”+ image_url +“)”'产生与coffeescript(使用插值)中''url(#{image_url})''相同的输出。 – DannyClay 2013-03-20 16:24:41

+0

你们,就像我在你的小提琴中看到的那样,你会得到正确的输出。 – 2013-03-20 16:28:41