Javascript 替换 - 不适用于 html 字符串

标签 javascript jquery replace

我正在尝试在普通的旧 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/

相关文章:

javascript - 如何将<select>中的选项动态分组到optgroups中?

javascript - 将数组与字符串进行比较,并将数组中找到的所有项目替换为字符串中的公共(public)字符

string - 如何从 Ansible 中的 lookup() 模块的结果中删除换行符字符 '\n'?

javascript - 在 setState() 之后更新的状态不会作为 props 传递给组件

javascript - 如何在 Swift 的 JavaScriptCore 中导入模块?

javascript - 返回特定的mongodb嵌入文档

jquery - JQuery 和 Backbone.js on Rails 3 的问题

javascript - 带有 _blank 的常规链接在选项卡中打开,但 JS window.open(url, "_blank");打开一个新窗口?

javascript - 如何从 node.js Controller 渲染 .ejs 文件?

C++ s.replace 不会用 "."替换 ".\n"