原生javascript-分享自己常用的函数

王朝学院·作者佚名  2016-05-05
窄屏简体版  字體: |||超大  

【一】添加监听事件

复制代码

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,'');

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航