У вас в разметке на 26 строке не закрытый li и на 121 строке лишний div
Можно немного изменить и отделить структуру от логики:
// ждем пока документ будет полностью загружен
document.addEventListener('DOMContentLoaded', function() {
// находим кнопку и добавляем обработчик
const applyButton = document.getElementById('apply');
applyButton.addEventListener('click', function() {
summary();
});
function summary() {
let questions = document.querySelectorAll('.question');
let score = 0;
let rightAnswers = ["a_2", "a_5", "a_9", "a_10", "a_13", "a_18", "a_19", "a_24", "a_27", "a_28"];
questions.forEach(function(question, index) {
let chosenAnswer = question.querySelector("input[type='radio']:checked");
if (chosenAnswer && chosenAnswer.id === rightAnswers[index]) {
score++;
}
console.log("Выбранный ответ: " + (chosenAnswer ? chosenAnswer.parentNode.textContent : "Нет ответа выбрано"));
console.log("Правильный ответ: " + rightAnswers[index]);
console.log("Очки: " + score);
});
alert("Количество правильных ответов: " + score);
}
});
из html убираем onclick="summary();"