Где элементы находятся, какой класс надо переключать:
const container = document.querySelector('ul.select-check');
const className = 'здесь ваш класс';
Слушаем событие
change, поднимаемся от целевого элемента до ближайшего
ul.
Дальше можем проверить наличие активного чекбокса, соорудив соответствующий селектор:
container.addEventListener('change', e => {
const ul = e.target.closest('ul');
ul.classList.toggle(
className,
!!ul.querySelector(':scope > li > label > :checked')
);
});
Или, есть вариант последовательно проверять состояние всех чекбоксов, пока не встретится активный:
container.querySelectorAll('[type="checkbox"]').forEach(function(n) {
n.addEventListener('change', this);
}, ({ target: t }) => {
while ((t = t.parentNode).tagName !== 'UL') ;
t.classList.toggle(
className,
Array.prototype.some.call(
t.children,
n => n.children[0].children[0].checked
)
);
});