Как добавить тег span только к указанным c "текстовым" словам (не затрагивая код html, js, css) с помощью метода replace js replace? - PullRequest
0 голосов
/ 30 апреля 2020

вокруг некоторых определенных c слов, которые я хочу поставить тег. Для этого я сейчас использую $("body").html().replace(myRegExp, myNewString); Теперь волнуюсь, а что, если оно может соответствовать, например, имени класса? Я хочу только изменить «текст». Я читал о том, что можно go через текстовые узлы DOM, но там можно изменить только один текстовый узел, но не вставлять html, как тег span. А что, если я хочу поместить тег span вокруг нескольких слов? Так как я могу убедиться, что замена - это только замена текста, а не html, js, css, ...

Редактировать: вот пример. У меня в качестве содержимого страницы:

This is a test! <br>

<span class="test">The span has as classname test </span>

Затем я хочу, например, заменить слово test:

var regex = new RegExp("\\b" + word + "\\b", "g");
var replaced = $("body").html().replace(regex, '<b class="testClass">' + word + '</b>');
$("body").html(replaced);

Вывод:

This is a test!
test">The span has as classname test

Имя класса «Тест» также заменен:

<span class="<b class=" testclass"="">test"&gt;The span has as classname <b class="testClass">test</b> </span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...