Для правильного вопроса надо знать половину ответа
Всё логично. Функция triggerEvent не определена, вам об этом английским по белому пишут.
А поскольку ошибка возникает на первом же шаге цикла, то обрабатывается только один чекбокс и дальше нуля индекс цикла не уходит.
Что будет, если в строке className что-то записано, например "class1 class2"?
После выполнения вашей строки получим "class1 class2night-mode". Ничего не замечаете?
Лучше работать с classList.
Для правильного вопроса надо знать половину ответа
На слабенькую троечку.
Глобальные переменные, рекурсия без необходимости, тернарный оператор вместо if, работа со стилями вместо классов, переназначение onclick вместо addEventListener со всплытием. Это только то, что с ходу в глаза бросилось.
Ну и общее впечатление отсутствия единого стиля, ощущение, что куски понадёрганы из разных примеров.
Для правильного вопроса надо знать половину ответа
Трах-тибидох. Этот вопрос тут регулярно по три раза на день возникает.
Если вы не владелец ресурса, с которого пытаетесь загружать что-то через AJAX, то в браузере никак не обойти.
Можно только на своём сайте развернуть промежуточный сервер, который будет получать запрос с вашего фронта, загружать ресурс с сервера третьей стороны и возвращать вашему фронту.