Disclaimer: Не претендирам, че съм javascript-бок, не съм писал такъв от 2017-та.
Вече имаш начин да копираш листа. Друг начин на чист JS:
function removeClass(ele, value) {
var buttons = document.getElementsByClassName(ele);
for (var i = 0; i < buttons.length; i++)
buttons[i].className = buttons[i].className.replace(value, '');
}
Трябва да оправиш празните места
Ако искаш да махнеш и добавиш в един цикъл
Но ако можеш, бих си го написал с jQuery
Добавям jQuery през console-ата. За да не копирам в fiddle
javascript: (function(e, s) {
e.src = s;
e.onload = function() {
jQuery.noConflict();
console.log('jQuery injected');
};
document.head.appendChild(e);
})(document.createElement('script'), '//code.jquery.com/jquery-latest.min.js')
И после в някаква функция (Нарочно не е с $):
jQuery('.btn').each(function(i) {
jQuery(this)
.removeClass('btn-actice')
.addClass('my-class');
});
И как те са го направили @ https://github.com/jquery/jquery/blob/master/src/attributes/classes.js