0
我的目标是将工具提示(包含定义)与使用JS的客户端上的某些单词相关联。
使用Django/Python(来自GAE数据存储)生成文本。
为了达到这个目的,我需要为需要定义的多个关键词扫描一段文本,并为工具提示动态创建一个html'标题'。JavaScript,Django和Google App Engine - 替换文本
我已经成功地为一个关键词做了一次,但是,我似乎无法在同一块文本中搜索和替换多个值(当我尝试使用django forloop完成时,整个原始字符串为每个替换命令出现一次 - 见下文)。
我的代码:
var str="<p>Paragraph of text containing key words such as test1 and test2! </p>";
{% for i in thing %}
document.write(str.replace(/{{i.word}}/gi, "<strong><a title='{{i.tooltip}}'> {{i.word}}</a></strong>"));
{% endfor %}
这导致:包含文本,如关键字1和1关键字关键词
“段落
段落包含关键词,如关键字1文本和keyword2!“
我所需的输出是:“含有这些关键词的文字段落关键字1和1关键字”
任何援助将不胜感激,我对JS的知识非常有限。
谢谢您的回答。这让我取得了一些进展。文本不再重复每次,但是,只有最后一个i.word的工具提示出现。其他人都没有。这是因为你每次都要替换字符串的定义。我尝试追加它,但是,它又重复了一遍。< – 2010-11-14 04:16:51
不,代码是正确的 - 您每次都想要替换'str'的定义。查看页面源代码以查看生成的javascript,并且可能会放置一些警报语句(或者更好,如果已安装Firebug,则为'console.debug()')以查看如何构建'str'。 – 2010-11-14 10:19:59