【发布时间】:2013-03-14 00:32:07
【问题描述】:
我有一个从图像的源属性中获取的变量。当我使用样式标签将该变量设置为元素的背景时,所有的斜线都会被删除。这是我的一些代码:
var logo = $('.logo-list li.selected-logo img').attr('src');
$('.stage').append('<div class="doc-header"><div class="product-logo"></div><div class="logo-small" style="background:url('+logo+');"></div></div>');
当我为变量“logo”设置警报时,它看起来很好: http://www.example.com/images/img.jpg
但是当 jQuery 附加代码时,背景属性的 URL 是这样的:http:example.com images img.jpg
由于某种原因,斜线被删除/转义,我只是不知道为什么。有人能解释一下吗?
【问题讨论】:
-
尝试使用
encodeURIComponent(logo) -
似乎在 url 之前有一个不应该存在的双引号
-
你的双引号也太多了。
style="background:"url('+logo+');"在background:之后不应有双引号 -
感谢双引号中的提醒。我在我的代码中删除了它并编辑了我的问题。 @BradM 与 encodeURIComponent(logo) 很接近,但它实际上对 url 进行了编码,就像这样 http%3A%2F%2F... 至少斜杠在那里。