javascript - 使用javascript一一替换字符串

标签 javascript jquery regex replace

我希望使用 JavaScript 动态替换一些占位符文本。尝试使用 jquery 过滤器和包含选择器,但没有真正取得任何进展。您知道如何替换它们吗?

<div class="container">
<h1>$$Insert text here$$</h1>
<div>
    <p>My first paragraph.</p>
    <div>$$Insert text here$$</div>
    <div>
        <input type="text" name="lname" placeholder="$$Insert text here$$"><br>
        <p>Here some other text</p>
    </div>
</div>

最佳答案

一个简单的例子,假设您只有一种用于研究目的的占位符:

var container = $('.container');
container.html(container.html().replace(/\$\$Insert text here\$\$/g,'mytext'))

演示:http://jsfiddle.net/Pqpfa/2/

<小时/>

如果您尝试实现自己的模板引擎,这里有一个更复杂的示例,您可以在其中使用不同的占位符名称:

html:

<div class="container">
<h1>$$pageTitle$$</h1>
<div>
    <p>My first paragraph.</p>
    <div>$$inputName$$</div>
    <div>
        <input type="text" name="lname" placeholder="please enter $$inputName$$"><br>
        <p>Here some other text</p>
    </div>
</div>

js:

var myClass = {};
myClass.pageTitle = 'my awsome page title';
myClass.inputName = 'your name';

var replaceFunc = function(match,p1){
    if (myClass[p1]){
        return myClass[p1]
    }
}

var container = $('.container');
container.html(container.html().replace(/\$\$(.*)\$\$/g, replaceFunc))

演示:http://jsfiddle.net/kQH5F/1/

关于javascript - 使用javascript一一替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20155091/

相关文章:

java - jsp标签库更改复选框名称?

javascript - Svelte - 如何使数据不 react ?

javascript - Jquery从点击的div中获取id

javascript - 如何将所有 ul 和 li 保留在父 li :selected, 下,但删除其他导航项

javascript - 元素动画

javascript - 在 Symfony 中渲染一个完整的 Twig 模板,用 ajax 扩展另一个模板

Javascript:按类名获取元素不起作用

java - java中搜索重复单词的正则表达式

java - 我想捕获一个不带下划线的字母数字组

php - 坐标的正则表达式 [0 :0:0] in in square brackets