mirniycruxix
@mirniycruxix

Как получить ID элемента который содержит что-то?

Есть элементы на странице :
<div id="1"><div class="Text">Hi, Wrld!</div></div>
<div id="2"><div class="Text">Bye, Wrld!</div></div>
<div id="3"><div class="Text">Hello, Wrld!</div></div>
<div id="4"><div class="Text">Hi, Wrld!</div></div>

Как мне получить ID элемента, который содержит текст внутри Bye, Wrld! ?
  • Вопрос задан
  • 322 просмотра
Решения вопроса 2
neuotq
@neuotq
Прокрастинация
//Получаем коллекцию всех элементов с классом Text
const elementsTextClass = document.getElementsByClassName('Text');

//Проходим по всем элементам
for (const element of elementsTextClass) {
//Проверяем текстовое содержимое текущего элемента
  if (element.textContent === 'Bye, Wrld!') {
   //Выводим id родителя
    console.log(element.parentElement.id)
  //Дальше нам не нужно перебирать элементы выходим из цикла
    break;
  }
}
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
const id = [...document.querySelectorAll('body > div')] // только div'ы в корне
  .filter(el => el.textContent === 'Bye, Wrld!') // если весь текст внутри совпадает с искомым
  .map(el => el.id) // взять id
  .pop(); // только последний

console.log(id) // "2"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы