推荐4个原生javascript常用的函数_javascript技巧
程序员文章站
2022-05-27 15:37:07
...
【一】添加监听事件
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的判断
}
}
//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 if(p.test(node[n].className)){
elem.push(node[n]);
}
}
return elem;
}
removeClassName:function(node,className){
var par = new RegExp(className,'g');
node.className = node.className.replace(par,'');
}
复制代码 代码如下:
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 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,'');
}
以上4个就是本人整理的非常实用也需要经常使用到的原生js函数,推荐给小伙伴们,希望对大家有所帮助。