#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