使用javascript逐个替换字符串
我希望使用javascript动态替换大量占位符文本。尝试使用jquery过滤器和contain选择器,但实际上没有成功。你知道如何更换这些吗使用javascript逐个替换字符串,javascript,jquery,regex,replace,Javascript,Jquery,Regex,Replace,我希望使用javascript动态替换大量占位符文本。尝试使用jquery过滤器和contain选择器,但实际上没有成功。你知道如何更换这些吗 <div class="container"> <h1>$$Insert text here$$</h1> <div> <p>My first paragraph.</p> <div>$$Insert text here$$</div>
<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>
$$在此处插入文本$$
我的第一段
$$在此处插入文本$$
这里有一些其他文本
使用模板引擎更好,但即使使用纯JS也可以实现这一点
document.body.innerHTML = document.body.innerHTML.replace(new RegExp('\\$\\$Insert text here\\$\\$','g'), 'replace it with');
演示最好使用模板引擎,但即使使用纯JS也可以实现这一点
document.body.innerHTML = document.body.innerHTML.replace(new RegExp('\\$\\$Insert text here\\$\\$','g'), 'replace it with');
演示一个简单的示例,假设您只有一种用于学习的占位符:
var container = $('.container');
container.html(container.html().replace(/\$\$Insert text here\$\$/g,'mytext'))
演示:
如果您试图实现自己的模板引擎,下面是一个更复杂的示例,您可以使用不同的占位符名称: html:
演示:一个简单的示例,假设您只有一种用于学习的占位符:
var container = $('.container');
container.html(container.html().replace(/\$\$Insert text here\$\$/g,'mytext'))
演示:
如果您试图实现自己的模板引擎,下面是一个更复杂的示例,您可以使用不同的占位符名称: html:
演示:这里有一个小的实际例子, 您基本上可以通过任何模型:
<div class="container">
<h1>Hi $$fname$$ $$lname$$</h1>
<div>
<p>My first paragraph.</p>
<div>You are the <b>$$title$$</b> of <b> $$company$$ </b></div>
<div>
<input type="text" name="lname" placeholder="$$salary$$"><br/>
<p>Call us at $$phone$$</p>
</div>
</div>
var myobj = {
fname: 'Alex',
lname: 'Shilman',
title: 'CEO',
company: 'Interactive Aim',
phone: '(111)111-1111',
salary: 10000000
},
makeView = function(myobj){
for (var key in myobj){
$('div.container').html($('div.container').html().replace('$$'+key+'$$', myobj[key]));
}
};
makeView(myobj);
你好$$fname$$$$lname$$
我的第一段
您是$$company$$的$$title$$
请致电$$电话给我们$$
var myobj={
fname:'亚历克斯',
名称:“Shilman”,
标题:“首席执行官”,
公司:“互动目标”,
电话:‘(111)111-1111’,
工资:10000000
},
makeView=函数(myobj){
for(myobj中的var键){
$('div.container').html($('div.container').html().replace('$$'+key+'$$',myobj[key]);
}
};
makeView(myobj);
JSBin工作示例:这里有一个小的实际示例, 您基本上可以通过任何模型:
<div class="container">
<h1>Hi $$fname$$ $$lname$$</h1>
<div>
<p>My first paragraph.</p>
<div>You are the <b>$$title$$</b> of <b> $$company$$ </b></div>
<div>
<input type="text" name="lname" placeholder="$$salary$$"><br/>
<p>Call us at $$phone$$</p>
</div>
</div>
var myobj = {
fname: 'Alex',
lname: 'Shilman',
title: 'CEO',
company: 'Interactive Aim',
phone: '(111)111-1111',
salary: 10000000
},
makeView = function(myobj){
for (var key in myobj){
$('div.container').html($('div.container').html().replace('$$'+key+'$$', myobj[key]));
}
};
makeView(myobj);
你好$$fname$$$$lname$$
我的第一段
您是$$company$$的$$title$$
请致电$$电话给我们$$
var myobj={
fname:'亚历克斯',
名称:“Shilman”,
标题:“首席执行官”,
公司:“互动目标”,
电话:‘(111)111-1111’,
工资:10000000
},
makeView=函数(myobj){
for(myobj中的var键){
$('div.container').html($('div.container').html().replace('$$'+key+'$$',myobj[key]);
}
};
makeView(myobj);
JSBin工作示例:为什么不使用现有模板引擎?为什么不使用现有模板引擎?