浏览csdn的时候,看见一个篇文章比较好摘录了我觉得比较有用的地方
1.--给页面元素附加一个CSS class时,要么它是这个元素的第一个CSS class,或者是它已经有了一些class, 需要在已有的class后加上一个空格,然后追加上这个class。而当你要去掉这个class时,你也需要去掉这个class前面的空格(这个在过去非常重要,因为有些老的浏览器不认识后面跟着空格的class)
原始逻辑:
function addclass(elm,newclass){ var c = elm.className; elm.className = (c === '') ? newclass : c+' '+newclass; }
你可以使用 split() 和 join() 函数自动完成这个任务
function addclass(elm,newclass){ var classes = elm.className.split(' '); classes.push(newclass); elm.className = classes.join(' '); }
这会确保所有的class都被空格分隔,而且你要追加的class正好放在最后