我想使用jquery更改背景图片。
用户在输入文本中将url输入到他的背景中,当单击按钮时,背景图像会发生变化,这很简单。
这是我使用的代码。
$(".change_bg").on("click",function(e){
e.preventDefault();
var bg = $(".bg_input").val();
$("table").css("background-image", "url("+bg+")");
});
这段代码效果很好。
我的问题是,当我打开萤火虫时,我看到了这一点。
<table style="background-image: url("the_new_background-image");" >
如何删除网址中的双引号并获取此内容。
<table style="background-image: url(the_new_background-image);" >
整个HTML代码将被发送到服务器并下载,因此当我尝试在浏览器中打开下载的HTML文件时,背景图像不会显示。
我尝试使用此代码并替换双引号,但我没有成功。
$("table").css("background-image", ("url('"+bg+"')").replace(/"/g,""));
请帮助。
答案 0 :(得分:1)
实际上,您的代码应该可以正常工作。 url()参数不需要引号,url(urltofile)和url(“urltofile”)一样好。
$(".change_bg").on("click",function(e){
e.preventDefault();
var bg = $(".bg_input").val().replace("\"", "");
$("table").css("background-image", "url("+bg+")");
});
答案 1 :(得分:0)
试试这个:
$("table").css("background-image", "url(" + escape(bg) + ")");
甚至更好,
var bg = escape($(".bg_input").val());
在做任何其他事情之前逃跑!
答案 2 :(得分:0)
您可以在此处看到代码没有问题:jsfiddle.net/ThF5Z
$("#me").on("click",function(e){
console.log("click");
e.preventDefault();
var bg = $("input").val();
$("#me").css("background-image", "url("+bg+")");
});
引用来自firebug / firefox。在chrome中测试相同的代码,但您没有引号。没有什么可以解决的。