浅析原生js模仿addclass和removeclass
1 //判断有没有class 2 hasClass(elements, cName) { 3 return !!elements.className.match(new RegExp("(\\s|^)" + cName + "(\\s|$)")); // ( \\s|^ ) 判断前面是否有空格 (\\s | $ )判断后面是否有空格 两个感叹号为转换为布尔值 以方便做判断 4 }, 5 //移除class 6 removeClass(elements, cName) { 7 if (this.hasClass(elements, cName)) { 8 elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " "); // replace方法是替换 9 } 10 }, 11 //添加class 12 addClass(elements, cName) { 13 if (!this.hasClass(elements, cName)) { 14 elements.className += " " + cName; 15 } 16 },