javascript dom 学习笔记 第九章:实现给某个元素添加加新的class的值的函数!
function addClass(element,value) { if (!element.className) { element.className = value; } else { newClassName = element.className; newClassName += ""; newClassName += value; element.className = newClassName; } }
函数解释:
如果当前元素没有class,或者说是class值为空为null的时候,那就直接添加一个。
否则,如果已经有了class,那么就在原来的class后面追加一个 。
由于 js的 className 设置某个元素的class属性值将被替换掉,而不是追加,所以就有了这个函数来实现这个功能
也可以用setAttribute()方法来实现添加class: elem.setAttribute("class","intro");
用法:addClass(element,value);
如:addClass(links[i],"intro");
20120811添加备注:
不想用这个函数的话,也可以直接这样写:
links[i] += " intro"; //注意intro前面要有一个空格。
这样写,如果当前元素有className值的话,就追加一个,显示效果如下:
<li class=" last intro"> </li>
没有className的话,就添加一个,这样写的话前面多了个空格,效果如下:
<li class=" intro"> </li> <li class=" intro"> </li> <li class=" intro"> </li> <li class=" intro"> </li>
个人总结:在需要添加class比较多的情况下建议用addClass函数,少的情况下还是直接 elem += " class" 吧,就那么一两个,没必要再去浪费一个函数。