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