我正在尝试将一个字符串的所有实例替换为另一个。这是我到目前为止的内容:
我通过ajax加载模板html文件,这是内容:
<div style="background-image:url({URL}/photo.png)">
<div>
<p>
<h1>
<a href="{URL}">link 1</a>
</h1>
</p>
<a href="{URL}">link 2</a>
</div>
</div>
因此,基本上我需要用实际网址替换{URL}的所有实例。
我尝试过这样的事情:
$.get("template.html")
.done(function(data) {
data.replace("/{URL}/g", "http://example.com");
});
或:
$.get("template.html")
.done(function(data) {
$(data).html($(data).html().replace("{URL}", "http://example.com"));
});
但它们都不起作用。
答案 0 :(得分:0)
使用全局替换的正确语法不是data.replace("/{URL}/g", "http://example.com");
正确语法是:data.replace(/{URL}/g, "http://example.com");
我尝试了下面的代码,它可以按预期工作:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$().ready(function () {
$.get("template.html", )
.done(function (data) {
data = data.replace(/{URL}/g, "http://yourdomain.com");
$("#content").html(data);
});
});
</script>
</head>
<body>
<div id="content"></div>
</body>
</html>
请记住,data.replace()
函数不会更改data
对象的实际内容,因此我写了data = data.replace(/{URL}/g, "http://yourdomain.com");
,然后将修改后的内容插入了div
标记内。
最后,在您的template.html
文件中,第一行应该是这样的:<div style="background-image:url('{URL}/photo.png)'">
,因为url()需要一个字符串!
有关更多详细信息,请参阅JavaScript String replace() Method。
答案 1 :(得分:-2)
我使用的是 python3.5/django2.0。
它只适用于单引号。我尝试不使用引号和双引号,但没有用:
姓名var url = '{% url "api_call" "str_to_replace" %}'; $.ajax({ url: url.replace('str_to_replace',"new string"),