const removeActive = target => {
if (target !== null) {
target.querySelectorAll('.active').forEach(element => element.classList.remove('active'));
}
};
document.querySelectorAll('.list .test').forEach(item => {
item.addEventListener('click', () => {
removeActive(item.closest('.list'));
item.classList.add('active');
});
});
document.querySelectorAll('.reset').forEach(button => {
button.addEventListener('click', () => removeActive(button.closest('.list')));
});
И хорошая ли практика в большом проекте использовать rem для того чтобы в версии для слабовидящих увеличивать шрифт?
const cases = [
'kdO-315-Ю',
'kdO-314-Ю',
'kdO-316-Ю',
'jtd-777-ШАП',
'jDT-123-Л',
'kSR-665-ЪГА'
];
const expression = /^([A-Za-z]{3})-(?!315|777)(\d{1,3}|1000)-([А-ЯЁ]{1,3})$/;
for (const variant of cases) {
console.log(variant, expression.test(variant));
}
/*
'kdO-315-Ю' false
'kdO-314-Ю' true
'kdO-316-Ю' true
'jtd-777-ШАП' false
'jDT-123-Л' true
'kSR-665-ЪГА' true
*/
<hr />
или:after/:before
?