Javascript coffeescript和jquery为背景图像生成完整的url?
我正在尝试使用coffeescript和jquery设置div的背景图像。我以Javascript coffeescript和jquery为背景图像生成完整的url?,javascript,jquery,coffeescript,jasmine,Javascript,Jquery,Coffeescript,Jasmine,我正在尝试使用coffeescript和jquery设置div的背景图像。我以/images/album\u image1.jpg的形式从DOM中的数据源获取图像url 但是,当我使用: $('.selector').css({'backgroundImage', "url(#{image_url}"}) CoffeeScript/jQuery使用主机生成URL: url(http://host.com/images/album_image1.jpg) 此外,Firefox将用引号括起URL
/images/album\u image1.jpg
的形式从DOM中的数据源获取图像url
但是,当我使用:
$('.selector').css({'backgroundImage', "url(#{image_url}"})
CoffeeScript/jQuery使用主机生成URL:
url(http://host.com/images/album_image1.jpg)
此外,Firefox将用引号括起URL,而Chrome不会引用URL
请看这里:
我想得到结果
url(/images/album\u image1.jpg)
,即没有主机部分和引号。我希望得到后一个结果,以便通过使用Jasmine的测试。好吧,因为您是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
希望这有帮助?但是我也更新了上面的内容,所以它对你的情况很有帮助。不确定这个答案是否有用,不是因为你的小提琴在上面。以前没工作过。作为小提琴中的输出文本看起来不错。“url(+image\u url+”)
生成的输出与咖啡脚本中的“url({image\u url})”
相同(使用插值)。ye,正如我在小提琴中看到的那样,您得到了正确的输出。如果没有主机部分,即url(/images/album\u image.jpg),是否不可能获得url
哪一个是有效的css?当然是。一旦你拿到绳子就把它撕开。我会更新,之后你可以玩它。