使用jquery和转义双引号更改背景图像

使用jquery和转义双引号更改背景图像,jquery,html,Jquery,Html,我想使用jquery更改背景图像 用户在输入文本中输入其背景的url,当单击按钮时,背景图像会改变,就这么简单 这是我使用的代码 $(".change_bg").on("click",function(e){ e.preventDefault(); var bg = $(".bg_input").val(); $("table").css("background-image", "url("+bg+")"); }); 这段代码非常有效 我的问题是当我打开fi

我想使用jquery更改背景图像

用户在输入文本中输入其背景的url,当单击按钮时,背景图像会改变,就这么简单

这是我使用的代码

$(".change_bg").on("click",function(e){

    e.preventDefault();

    var bg = $(".bg_input").val();

    $("table").css("background-image", "url("+bg+")");  

});
这段代码非常有效

我的问题是当我打开firebug时,我看到了这个

<table style="background-image: url("the_new_background-image");" >
请找人帮忙。

试试这个:

$("table").css("background-image", "url(" + escape(bg) + ")");
甚至更好

var bg = escape($(".bg_input").val());

在做任何事情之前先逃跑

实际上,您的代码应该可以正常工作。url()参数不需要引号,url(urltofile)与url(“urltofile”)一样工作正常


正如您在这里看到的,您的代码没有问题: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中测试相同的代码,您没有引号。没有什么可修的

我不明白你的问题从何而来。有在线样本让我们测试吗?我不能重现你的问题。在这里工作很好:只有一件事,如果我正确理解您的问题,您应该将背景图像url设置为绝对,如果不是直接从server@nbar实际上,我的代码在更改背景时运行良好。。。这不是我想要的。我想要一种方法来删除'url(“…”)中的双引号,并拥有这个'url(…)'哦,我现在发现了你的“问题”。是firebug插入了引号。在chrome中测试相同的代码,你不会看到引号。总的来说没有问题,也没有什么需要修正的。你完全正确,chrome中没有引号,你知道为什么firfox在图像url?url(urltofile)周围插入引号吗。不带“”的字符串很奇怪。
var bg = escape($(".bg_input").val());
$(".change_bg").on("click",function(e){

    e.preventDefault();

    var bg = $(".bg_input").val().replace("\"", "");

    $("table").css("background-image", "url("+bg+")");  

});
$("#me").on("click",function(e){
console.log("click");
    e.preventDefault();

    var bg = $("input").val();

    $("#me").css("background-image", "url("+bg+")");  

});