多个变量的 JS .replace 函数

时间:2021-04-29 10:33:02

标签: javascript replace

我正在尝试使用 .replace 函数,只要我只有一个要替换的变量,它就可以正常工作。一旦我需要多次替换一个变量,它就不再工作了。

这是我的代码的一部分:

function handleDetails(contentItem, contentKeys, templateKey, contentElementKey, callback=null) {
    let contentTemplate = $('#' + templateKey).html();

    for (const item of contentKeys) {
        contentTemplate = contentTemplate.replace('{{' + item + '}}', contentItem[item]);
    }

    $(contentElementKey).append(contentTemplate);

    if (callback) {
        callback(contentItem);
    }
}

示例:{{date}} -> 替换为 04/11/2021

现在我想在我的模板中使用 {{date}} 两次,但只有我的第一个 {{date}} 被替换。因此我尝试使用 /g 但没有成功。这是我迄今为止尝试过的:

contentTemplate = contentTemplate.replace('{{' + item + '}}/g', contentItem[item]);

contentTemplate = contentTemplate.replace('/{{' + item + '}}/g', contentItem[item]);

contentTemplate = contentTemplate.replace(/'{{' + item + '}}'/g, contentItem[item]);

我找不到正确的语法。我究竟做错了什么?这不是它应该工作的方式吗? 我非常感谢您的帮助。

提前致谢, 克里斯

0 个答案:

没有答案