JackShcherbakov
@JackShcherbakov

Начал изучать JavaScript с Jquery и не работает функция addClass(), что мне делать?

Заранее выражаю огромную благодарность всем, кто поможет!
Вот код:

<!DOCTYPE html>
<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Untitled 1</title>
<script src="jquery-3.2.1.min.js"></script>
<script>
	score = 0;
	var questions = [
	['Сколько языков должен знать Front-end разработчик?', 3],
	['Сколько ног у собаки?', 4]
	];
	
	function askQuestion(question){
		var answer = prompt(question[0], '');
		if (answer == question[1]){
			alert('Верно!');
			score++;
		}
		else {
			alert('Правильный ответ - ' + question[1]);
		}
	}
	for (var i = 0; i<questions.length; i++){
		askQuestion(questions[i]);
	}
</script>
<style>
	p.bad{
	 color:red;
	}
</style>
</head>
<body>
	<h1>Результаты викторины</h1>
	<script>
		var bad = questions.length/2;   
	                                                     /*<b>ВНИМАНИЕ НА СТРОКИ НИЖЕ</b>*/
	                if (score == 0){                 
			$('p').addClass('bad'); 
	        	}		                 
                                                             /*<b>ВНИМАНИЕ НА СТРОКИ ВЫШЕ</b>*/
		document.write('<p>Ваш счет ' + score + ' очка из ' + questions.length + '</p>');
	</script>
</body>
</html>
  • Вопрос задан
  • 833 просмотра
Решения вопроса 1
@Azperin
Дилетант
А где скрипт то который обрабатывает таг p ? Если верить тому что написано, у вас при загрузке документа добавляется сначала класс, а потом уже создается елемент.

Не про проще сразу же создать этот Ваш счет 0 очка из 0
И уже апдейтить по факту ответа.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@RomanPrivalov
Насколько знаю, document.write() - не самая лучшая практика для вставки элементов в ваш документ.

$('p').addClass('bad');  //Вначле пытаетесь найти объект элемента и присвоить ему класс, хотя его еще нет в DOM
document.write('<p>Ваш счет ' + score + ' очка из ' + questions.length + '</p>'); //Создаете этот самый объект элемента

Как сказал автор выше, вы в вашем коде вначале пытаетесь найти элемент в DOM (хотя по факту его еще нет).
Ответ написан
Ваш ответ на вопрос

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

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