jQuery的URL转义

时间:2012-11-07 16:39:03

标签: javascript jquery url escaping

我有以下网址:

http://s7w2p3.scene7.com/is/agm/creativprint/a4?&page=3&wid=354&fmt=jpg,rgb&setAttr.img_page3={source=@Embed%28%27/ugc/8423326.tif%27%29}. 

我想通过jQuery('#divID').cssdocument.getElementByID('divID').style.backgroundImage将此设置为div的背景图片的网址。它不起作用,因为我想我必须逃避它中的一些特征。 Javascript全局函数escape()也没有做到这一点。

我已经在我的.css文件中手动将其设置为背景图像,它可以正常工作。有什么建议?我已尝试使用格式为http://s7w2p3.scene7.com/is/agm/creativprint/a4?&page=3&wid=354&fmt=jpg,rgb的其他网址。这样可行。所以问题必须出在剩下的部分:&setAttr

2 个答案:

答案 0 :(得分:1)

您可能刚刚忘记了CSS属性周围的url()

$('#id').css('backgroundImage', 'url("http://s7w2p3.scene7.com/is/agm/creativprint/a4?&page=1&wid=354&fmt=jpg,rgb&setAttr.img_page1={source=@Embed%28%27/ugc/4575272.tif%27%29}")');

这样对我来说很好:http://jsfiddle.net/mPyTJ/1/

答案 1 :(得分:0)

我看不出你的问题是什么。一切似乎都很好。 See this jsFiddle

$(document).ready(function(){
    $('#div1').css('backgroundImage','url(http://s7w2p3.scene7.com/is/agm/creativprint/a4?&page=1&wid=354&fmt=jpg,rgb&setAttr.img_page1={source=@Embed%28%27/ugc/4575272.tif%27%29})');
});

如果您可以使用jsFiddle重现您的错误,那将会有很大帮助。