欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

给目标元素添加className-addClass

程序员文章站 2022-07-12 21:28:54
...

api的应用场景是:给目标元素添加className

 

 

关于className的资料http://zhangyaochun.iteye.com/blog/1456976

关于ZYC.dom.g请看这里:http://zhangyaochun.iteye.com/blog/1439262

 

简单描述:

                  如果需要一次调用添加多个class只需用空白符分割:如'red yellow black'      

 

 

/*
*addClass-add the className to the element*
*@function*
*@param {string||HTMLElement} element*
*@param {string} className---it can add more than one className,split each other by whitespace*
*@return {HTMLElement} element
*@remark the className is legal or not *
*you can reference in http://www.w3.org/TR/CSS2/syndata.html*
*/
ZYC.dom.addClass = function(element,className){
         element = ZYC.dom.g(element);
	 //must flow the rule ---split each other by whitespace(one or more)
	 //and the whitespace do not just space(制表符或者换行符)
	 var classArray =className.split(/\s+/),
	     result = element.className,  //element old className
		 i =0,
		 classMatch = " "+result+" ",  //used to check if has then decide if add
		 _length=classArray.length;
	 for(;i<_length;i++){
         if(classMatch.indexOf(" "+classArray[i]+" ") <0){
		    //if classArray[i] is new add it
			//and attention (result ? " ":"") if element old className is empty
		    result += (result ? " ":"") + classArray[i];
		 }		 
     }
	 element.className = result;
	 return element;
};
相关标签: addClass