Javascript:替换元素中的文本

时间:2015-08-07 07:46:12

标签: javascript html

我已经在javascript过程中工作了一段时间,并且无法弄清楚如何执行此操作。我知道如何基本上告诉javascript为特定ID设置某个值。但我的问题是: 我想编写javascript来读取信息(基于服务器,但我自己也会这样做。)将其设置为var然后将其写入文本。它最终应该是这样的:

在写之前(没有Javascript):
<h1 id="name" class="normal">Welcome, %Name%! What do you wish to do?</h1>

写完后(使用Javascript):
<h1 id="name" class="normal">Welcome, John Connor! What do you wish to do?</h1>

基本上我想到的是,JS从服务器读取信息,然后找到h1 ID,在该文本中搜索%Name%值,并用找到的名称替换它。

请帮帮我。谢谢!

最诚挚的问候 Kodaigan

2 个答案:

答案 0 :(得分:1)

如果使用jQuery:

$('#name').html(function(index, html){
    return html.replace('%Name%', yourVariable);
});

纯javascript:

document.getElementById('name').innerHTML = document.getElementById('name').innerHTML.replace('%Name%','John');

这将替换h1元素中的给定字符串。

答案 1 :(得分:0)

如果你有很多参数,最好使用带有模板的js lib之一。我更喜欢使用下划线。 http://underscorejs.org/#template。您也可以在youe模板中使用if语句 How to use if statements in underscore.js templates?