Javascript удалить текст из класса - PullRequest
0 голосов
/ 24 марта 2020

Мне нужно удалить текст «at» из этого заголовка.

<p><a href="/pankcake" class="spotlight__title">Marge Makes Pancakes Email at</a></p>

Текст в этом заголовке создается динамически, поэтому я не могу изменить все это. Я пытался использовать это, но это не работает.

<script>var elements=document.getElementsByClassName("spotlight__title");elements[0].innerHTML=elements[0].innerHTML.replace(/at/g,"");</script>

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Вам нужно перебрать коллекцию, возвращенную из getElementsByClassName .

var elements = document.getElementsByClassName("spotlight__title");
Array.from(elements).forEach( element =>
  element.innerHTML = element.innerHTML.replace(/at/g,"")
)
1 голос
/ 24 марта 2020

Вы можете использовать querySelectorAll, чтобы найти все элементы с помощью селектора CSS, а затем выполнить итерацию по ним, чтобы заменить текст в соответствии с вашим регулярным выражением.

function replaceText(target, re, newText) {
  document.querySelectorAll(target).forEach(function(element) {
    element.textContent = element.textContent.replace(re, newText).trim();
  });
}

replaceText('.spotlight__title', /at$/g, '');
<p>
  <a href="/pankcake" class="spotlight__title">Marge Makes Pancakes Email 1 at</a>
</p>
<p>
  <a href="/pankcake" class="spotlight__title">Marge Makes Pancakes Email 2 at</a>
</p>
<p>
  <a href="/pankcake" class="spotlight__title">Marge Makes Pancakes Email 3 at</a>
</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...