Как превратить элемент в переменную

#javascript

#javascript

Вопрос:

 <div class="font-bold uppercase mt-8">Upcoming Release</div>
  

Привет, итак, я пытаюсь превратить текст на веб-сайте в переменную.

Часть, которую я пытаюсь получить, — это «Предстоящий выпуск» и сделать его равным переменной «вопрос»

Это текущий код, который у меня есть

 var question = document.getElementsByClassName('font-bold uppercase mt-8')
  

Я перепробовал много вещей, но, похоже, ничего не работает.

ОБНОВЛЕНИЕ!!!

Итак, я попытался запустить этот код, чтобы выполнить поиск по вопросу в Google через определенный промежуток времени.

 function searchQuestion() {
var question = document.getElementsByClassName('mb-4 font-bold');
    for (var i = 0; i < question.length; i  ) {
    var text = question[i].innerText;
     console.log(text);
  }
  
  window.open('https://google.com/search?q=' text, '_blank');  
}

setTimeout(searchQuestion, 5000);
  

На данный момент элемент mb-4 font-bold еще НЕ существует, но во время тестирования он подбирает элемент mb-4 text-3xl cols:text-5xl font-bold leading-none и ищет то, что находится в этом элементе, а не то, в чем он находится mb-4 font-bold . Как мне сделать так, чтобы он выполнял поиск ТОЛЬКО по элементу mb-4 font-bold

Если элемент еще не существует, не следует ли ему просто выполнить поиск undefinded ?

Я новый программист, поэтому любая помощь будет принята во внимание. Спасибо

Комментарии:

1. в переменных не должно быть пробелов. Вам нужно убрать пробелы в текстах

Ответ №1:

getElementsByClassName will возвращает массив элементов.

 var question = document.getElementsByClassName('font-bold uppercase mt-8');
for (var i = 0; i < question.length; i  ) {
  var text = question[i].innerText;
   console.log('text => ', text);
}  
 <div class="font-bold uppercase mt-8">Upcoming Release</div>  

Ответ №2:

Document.getElementsByClassName() возвращает список элементов, поэтому в вашем случае, чтобы получить только первый, используйте разрушающее присвоение, чтобы захватить это

 var [question] = document.getElementsByClassName('font-bold uppercase mt-8')

console.log(question)  
 <div class="font-bold uppercase mt-8">Upcoming Release</div>  


Ссылка

Document.getElementsByClassName()

возвращает массивоподобный объект всех дочерних элементов, которые имеют все заданные имена классов

Назначение деструктурирования

 const x = [1, 2, 3, 4, 5];
const [y, z] = x;
console.log(y); // 1
console.log(z); // 2