我正在尝试在普通的旧 html 中创建一种"template",然后可以通过另一个 javascript 函数插入元素。
所以,我已经
var string = "<div id='<@nameInsert>' style='padding: 2px;'>here's some text and stuff</div>";
在一个函数中,我尝试将 <@nameInsert> 替换为我正在使用的名称...
string.replace("/<@nameInsert>", "525");
但是,它不起作用。某种逃避的东西,错误的想法,还是什么?
最佳答案
它不起作用,因为您试图替换另一个字符串中不存在的字符串。
我认为您正在混合两种不同的替换方式。您可以使用字符串替换:
string.replace("<@nameInsert>", "525");
您可以使用正则表达式进行替换:
string.replace(/<@nameInsert>/, "525");
带斜杠的部分是正则表达式文字,其结果与:
string.replace(new RegExp("<@nameInsert>"), "525");
您可能更喜欢正则表达式,因为您可以指定全局标志,这将使其替换每次出现的情况,而不仅仅是第一个:
string.replace(/<@nameInsert>/g, "525");
关于Javascript 替换 - 不适用于 html 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8591446/