Jquery,使用变量转义 url

Jquery, Escaping url with variable

尝试转义和 html 以添加我在 ajax 中引入的动态变量以在 jquery 中追加,但我似乎无法正确转义.这是我所拥有的 -

$("<div><div class='presiImg' style='background: url(/\'/gleam\/public\/images\/itPrecedents\/" + keep.logo + "');'></div></div>").appendTo(".myDiv');

我不确定如何正确地转义它以便我可以使用该变量。谢谢

尝试

$("<div />",{ 
 "class":"presiImg",
 "style":"background: url(/gleam/public/images/itPrecedents/"+keep.logo+")"
}).appendTo(".myDiv");

这里有几个问题:

  1. 您正在转义 URL 中的正斜杠,这是没有必要的
  2. 您在 .appendTo()
  3. 中使用了不一致的引号

作为建议,当我使用 JS/jQuery 附加原始 HTML 时,我尝试使用单引号和 JavaScript 引号,然后在HTML。对我来说,这样看更容易。此外,CSS url 中的单引号不是必需的,这可能会使事情变得混乱。

无论如何,如果您将行更改为以下内容,它将起作用:

$('<div><div class="presiImg" style="background: url(\'/gleam/public/images/itPrecedents/' + keep.logo + '\');"></div></div>').appendTo('.myDiv');

如果您想实际查看,下面有一个可运行的示例:

$(function() {
  
  var keep = { logo : "test.jpg" };
  $('<div><div class="presiImg" style="background: url(\'/gleam/public/images/itPrecedents/' + keep.logo + '\');"></div></div>').appendTo('.myDiv');
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="myDiv"></div>