Вопрос 1. Вы использовали
querySelectorAll
, а надо было
querySelector
.
Вопрос 2. Вы можете заранее получить элемент и добавить на него прослушку события.
let switchItem = document.querySelector('.switch-item');
switchItem.addEventListener('click', event => {
event.preventDefault();
switchItem.classList.toggle('on');
});
Вопрос 3. Имеется ввиду одно действие не в том смысле, что это одна инструкция. Имеется ввиду, что если функция должна переключить класс у элемента, то это она и должна делать, а не такое поведение, что она начинает вызывать другие функции, которые приведут к тому, чего разработчик не будет ожидать.