首页 > 网站 > WEB开发 > 正文

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

2024-04-27 14:05:54
字体:
来源:转载
供稿:网友

【一】添加监听事件


复制代码
     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,'');
}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表