Итак, это довольно простая вещь, которую я пытаюсь выполнить (javascript), но она уводит меня, и она все еще не работает. Я пытаюсь заменить определенные слова (которые находятся в теге pre). Например, слово "static"
должно быть заменено на "<span class="keyword">static</span>"
. Я использую XHTML.Замена строки в innerHTML
Мой подход таков:
for (var j = 0; j < keywords.length; j++)
{
codeBlock.innerHTML = codeBlock.innerHTML.replace(new RegExp(keywords[j], "g"), "<span class=\"keyword\">" + keywords[j] + "</span>");
}
кодоблок является предварительно элемент, ключевые слова представляет собой массив, который содержит все слова, которые я хотел бы заменить.
Я пробовал так много способов, но я застрял в сообщениях об ошибках, подобных этим.
Firefox:
[Exception... "An invalid or illegal string was specified" code: "12" nsresult: "0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)" location: "file:///C:/.../scripts.js Line: 33"]
Chrome:
Error: INVALID_STATE_ERR: DOM Exception 11
Я предполагаю, что это что-то делать с HTML-теги (я попытался с помощью% Лт; и% Гт, а) , потому что я знаю, что это делает работу:
codeBlock.innerHTML = codeBlock.innerHTML.replace(new RegExp(keywords[j], "g"), "test");
Спасибо за ваше время, Jacco
Я думаю, что вы не можете использовать (набор) 'innerHTML' с XHTML (строго). –
любой шанс вы можете опубликовать полный пример html и javascript, который показывает эту проблему? –