原生JS操作class 极致版
// 获取class function getClass(el) { return el.getAttribute('class') } // 设置class function setClass(el, cls) { return el.setAttribute('class', cls) } // 当然彩蛋压轴戏肯定是在最后的啦 // 判断class是否存在 function hasClass(elements, cName) { return !!elements.className.match(new RegExp("(\\s|^)" + cName + "(\\s|$)")); } // 添加clss function addClass(elements, cName) { if (!hasClass(elements, cName)) { elements.className += " " + cName; } } // 删除class function removeClass(elements, cName) { if (hasClass(elements, cName)) { elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " "); } } // 切换class function toggleClass(elements, cName) { if (hasClass(elements, cName)) { elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), ""); } else { elements.className += " " + cName; } }
https://www.cnblogs.com/xiaobaiv/p/10072694.html