Моя цель - связать всплывающую подсказку (содержащую определение) с определенными словами на стороне клиента с помощью JS.
Текст генерируется с помощью Django / Python (из хранилища данных GAE).
Для этого мне нужно отсканировать блок текста на наличие нескольких ключевых слов, требующих определений, и динамически создать html-заголовок для всплывающей подсказки.
Я успешно сделал это для одного ключевого слова за раз, однако мне кажется, что я не могу выполнить поиск и заменить несколько значений в пределах одного блока текста (когда я пытаюсь выполнить с помощью 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 %}
В результате:
"Абзац текста, содержащий ключевые слова, такие как keyword1 и keyword2!
Абзац текста, содержащий ключевые слова, такие как keyword1 и keyword2 ! "
Мой желаемый вывод:
"Абзац текста, содержащий ключевые слова, такие как ключевое слово1 и ключевое слово2 !"
Любая помощь будет принята с благодарностью, у меня очень ограниченные знания в JS.