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" 吧,就那么一两个,没必要再去浪费一个函数。

原文地址:https://www.cnblogs.com/huanlei/p/2470725.html