Заменить первое вхождение нужного слова в HTML другим словом - PullRequest
0 голосов
/ 27 марта 2019

Предположим, моя строка HTML:

<p>Example: This is my example string. This is one more Example sentence.</p>

Я хочу заменить первое вхождение нужного слова, в данном случае слово example тем же словом, но обернутое тегом strong, поэтому итоговая строка становится:

<p><strong>Example:</strong> This is my example string. This is one more Example sentence.</p>

поэтому, когда он рендерится, он становится:

**Example:** This is my example string. This is one more Example sentence.

1 Ответ

3 голосов
/ 27 марта 2019

Вы можете попробовать с replace() следующим образом:

var el = document.querySelector('p');
var word = 'Example:'
var output = el.textContent.replace(word, '<strong>'+word+'</strong>');
el.innerHTML = output;
<p>Example: This is my example string. This is one more Example sentence.</p>

Вы также можете попробовать RegEx с нестандартным $ n с String.replace :

var el = document.querySelector('p');
var output = el.textContent.replace(/(Example:)/, '<strong>$1</strong>');
el.innerHTML = output;
<p>Example: This is my example string. This is one more Example sentence.</p>
...