<div class="selectboxss">
<div class="selectboxssvalue">
<div class="selectboxssvalue-inner">
Верхняя строчка
</div>
</div>
<div class="selectboxssmenu-wrap" style="display: none;">
<ul class="selectboxssmenu">
<li class="selectoption act selectoption-1">
1 пункт
</li>
<li class="selectoption selectoption-2">
2 пункт
</li>
<li class="selectoption selectoption-3">
3 пункт
</li>
</ul>
</div>
</div>
const classContainer = 'selectboxss';
const classOption = 'selectoption';
const getClasses = el => [...el.classList].filter(n => n !== classOption);
//const getClass = el => el.className.match(RegExp(`${classOption}-\\d+`))[0];
document.addEventListener('click', ({ target: t }) => {
if (t.classList.contains(classOption)) {
const container = t.closest(`.${classContainer}`);
const { classList } = container;
classList.remove(...[...container.querySelectorAll(`.${classOption}`)].flatMap(getClasses));
classList.add(...getClasses(t));
//classList.remove(...Array.from(container.querySelectorAll(`.${classOption}`), getClass));
//classList.add(getClass(t));
}
});
const selectboxss = document.querySelector('.selectboxss');
const liElements = document.querySelectorAll('.selectboxssmenu li');
liElements.forEach(li => {
li.addEventListener('click', () => {
const additionalClass = li.classList[1];
selectboxss.classList.remove(...selectboxss.classList);
selectboxss.classList.add(additionalClass);
});
});