由于element.classListIE9和Safari-5不支持,因此有什么替代的跨浏览器解决方案?
element.classList
解决方案 必须 至少在 IE 9 , Safari 5 ,FireFox 4,Opera 11.5和Chrome中运行。
处理没有框架/库的类的一种方法是使用Element.className属性,该属性“ _获取并设置指定元素的class属性的值。 正如在他的回答中已经提到的那样,一旦获得了元素的类字符串,就可以使用与字符串关联的任何方法对其进行修改。
举一个例子: 假设您有一个ID为“ myDiv”的div,并且您想在用户单击该类时为其添加“ main__section”类,
window.onload = init; function init() { document.getElementById("myDiv").onclick = addMyClass; } function addMyClass() { var classString = this.className; // returns the string of all the classes for myDiv var newClass = classString.concat(" main__section"); // Adds the class "main__section" to the string (notice the leading space) this.className = newClass; // sets className to the new string }