15. Испытание: Оцените сайт. Где ошибка?

вот моя штука (еще недоделана),

let reviews = document.querySelectorAll(’.review’);
let submit = document.querySelector(’.submit-button’);
console.log(reviews)

reviews.onchange = function () {
for (let review of reviews) {
console.log(review)
if (review.dataset.evaluation === ‘good’) {
submit.disabled = true;
} else {
submit.disabled = false;
//бла бла бла, я все допишу когда разберусь почему этот тарантас не работает.
};
};
};

Я уже прочел, что обработчик нужно менять местами с циклом, но подскажите почему? В позапрошлом упражнении так и было сделано, вот:

ссылка на задание
let articles = document.querySelectorAll(’.news-block’);
let filter = document.querySelector(’.filter’);

filter.onchange = function () {
for (let article of articles) {
if (article.dataset.category !== filter.value) {
article.classList.add(‘hidden’);
} else {
article.classList.remove(‘hidden’);
}
}
};

const PollOptions = {
    NOT_RIGHT: 'bad',
}

const review = document.querySelector('form fieldset');
const submitButton = document.querySelector('.submit-button');
const error = document.querySelector('.error');

const showError = (evt) => {
    if (evt.target.dataset.evaluation === PollOptions.NOT_RIGHT) {
    submitButton.setAttribute('disabled', '');
    error.classList.add('shown');
    } else {
        submitButton.removeAttribute('disabled');
        error.classList.remove('shown');
        }
}

review.addEventListener('change', showError);

Сработал такой вариант:
let reviews = document.querySelectorAll(’.review’);
let submitButton = document.querySelector(’.submit-button’);
let error = document.querySelector(’.error’);

for (let review of reviews) {
review.onchange = function () {
if (review.dataset.evaluation === ‘bad’) {
submitButton.disabled = true;
error.classList.add(‘shown’);
} else {
submitButton.disabled = false;
error.classList.remove(‘shown’);
}
}
};

let submitButton = document.querySelector('.submit-button');
let errorMessage = document.querySelector('.error');
let radioButtons = document.querySelectorAll('.review');


for (let element of radioButtons) {
  element.onchange = function () {
    if(element.dataset.evaluation !== 'good') {
      submitButton.disabled = true;
      errorMessage.classList.add('shown');
    } else {
      submitButton.disabled = false;
      errorMessage.classList.remove('shown');
      };
  };
};

17/11/2022 - 100%. Может кто желает стать моим наставником? Есть трудности с изучением JS.

let  reviews = document.querySelectorAll('.review');
let submitButton = document.querySelector('.submit-button');
let error= document.querySelector('.error');

for (let review of reviews) {
 review.onchange = function (){
  if (review.dataset.evaluation === 'bad') {
  submitButton.disabled = true;
  error.classList.add('shown');
  }
  else {
    error.classList.remove('shown');
    submitButton.disabled = false;
  }
 }
};

Ура! Прошла на 100%

let reviews = document.querySelectorAll('.review');
let submitButton = document.querySelector('.submit-button');
let error = document.querySelector('.error');

for (let review of reviews) {
  review.onchange = function() {
    if (review.dataset.evaluation === 'good') {
      submitButton.disabled = false;
      error.classList.remove('shown');
    } else {
      submitButton.disabled = true;
      error.classList.add('shown');
    };
  };
};

Вот через forEach. Решение 100%
const reviewForm = document.querySelector(‘.review-form’);
const reviews = document.querySelectorAll(‘.review’);
const submit = document.querySelector(‘.submit-button’);
const error = document.querySelector(‘.error’);

reviews.forEach(review => {
review.addEventListener(‘change’, () => {
if(review.dataset.evaluation === ‘bad’) {
error.classList.add(‘shown’)
submit.disabled = true;
}
else {
error.classList.remove(‘shown’)
submit.disabled = false
}
});
});

не без подсказок конечно и тупежа
учитывая как разжеваны до этого были html и css для js мне кажется маловато теории и практики перед испытаниями.

let reviews = document.querySelectorAll('.review');
let submButton = document.querySelector('.submit-button');
let error = document.querySelector('.error');

for (let review of reviews) {
  review.onchange = function () {
    if (review.dataset.evaluation === 'bad') {
      submButton.disabled = true;
      error.classList.add('shown');
    } else {
      submButton.disabled = false;
      error.classList.remove('shown');
    }
  }
};