【一】添加监听事件
addHandler:function(node,type,fn){if(node.addEventListener){ node.addEventListener(type,fn,false); // false,设置为冒泡事件 } else{ node.attachEvent('on'+type,function(){ fn.apply(node,arguments); // attachEvent方法中,this并不是指向node,所以需要用apply()方法改变 }); } }
【二】设置元素的样式
setCss:function(node,val){ // val:{'top':'2px','font-size':'12px'} for(var v in val){ node.style.cssText += ';'+ v +':'+val[v]; //使用 cssText就可以同时设置多个属性,还有个好处可以避免 cssFloat,styleFloat的判断 } }
【三】获取CSS类名元素
//parent是可选参数,
getByClassName:function(className,parent){ var elem = [], node = parent != undefined&&parent.nodeType==1?parent.getElementsByTagName('*'):document.getElementsByTagName('*'), p = new RegExp("(^|\s)"+className+"(\s|$)"); for(var n=0,i=node.length;n<i;n++){ if(p.test(node[n].className)){ elem.push(node[n]); } } return elem; }
【四】删除CSS类名
removeClassName:function(node,className){ var par = new RegExp(className,'g'); node.className = node.className.replace(par,''); }