gpt4 book ai didi

javascript - handlebar js生成apple .replace() Html元素

转载 作者:行者123 更新时间:2023-11-30 16:06:49 27 4
gpt4 key购买 nike

我想知道如果我使用 handlebar js 生成 html 元素,我如何能够通过 .replace() 更改元素数据。

例如我有这个 p 标签的 Angular 色,它通过 handlebar js 显示一行数据:

<p id="pre-region">{{region}}</p>

结果是

1,44

我想把它改成

1+44

如果你没有任何 handlebar js 的经验,那么考虑标签是

 <p id="pre-region">1,44</p>

我应该如何从 1,44 更改为 1 +44?

更新 1

这里应该是我的问题的延伸。我将 pre-region 中的 HTML 元素传递给 href,以便通过 Ajax 更新我的网站。

在我将所有逗号转换为“+”后,API 检索到等于符号“+”的特殊字符“&B2”,然后 API 出错。

MYDOMAIN/path/getRegion?token&profileId=111&dataType=all&region=1%2B4

这就是目前 API 的样子

MYDOMAIN/path/getRegion?token&profileId=111&dataType=all&region=1+4

应该是解决方案

最佳答案

我对 handlebars.js 没有任何经验,但从我的 Angular 来看,您可以将代码放在 </body> 之前:

<script>
var node = document.getElementById('pre-region');
node.innerHTML = node.innerHTML.replace(',', '+');
</script>

我会检查 Handlebars js,以防它不起作用。

更新:正如您在评论中提到的,如果您需要在 HTTP 请求/URL 中使用它,您可以使用 decodeURIComponent(yourstring) 处理字符串。 :

decodeURIComponent('1%2B44'); // you get '1+44'

阅读更多关于 decodeURIComponent() 的信息方法来自 this .在URL中,应该编码为region=1%2B44在你的情况下;如果你想在你的 JavaScript 代码中使用它或者在网页中显示它,它应该被解码。

更新 1

当字符串用作 HTTP 请求参数的一部分时,您应该对其进行编码。因此,如果 URL 看起来不错:

MYDOMAIN/path/getRegion?token&profileId=111&dataType=all&region=1%2B4

您需要做的是在您的服务器端解码字符串。我假设您控制着服务器端。如果你使用的是 Node.js,你可以只使用 decodeURIComponent()解码参数的方法。如果您使用 Python 或 PHP 作为服务器语言,它应该类似于 decodeURIComponent()。用那种语言。

更新 2

上面的解决方案只是将第一个逗号替换为+ .要解决这个问题,只需使用:

<script>
var node = document.getElementById('pre-region');
node.innerHTML = node.innerHTML.replace(/,/g, '+');
// Regular Expression is used here, 'g' for global search.
</script>

PHP 有一个 replaceAll()方法,所以我们可以将该方法添加到 String.prototype如果你愿意,请像下面这样:

<script>
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.split(search).join(replacement);
}
// Another method to replace all occasions using `split` and `join`.
</script>

关于javascript - handlebar js生成apple .replace() Html元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36928464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com