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

本文介绍了四种实用的DOM操作方法:添加监听事件、设置元素样式、获取CSS类名元素及删除CSS类名,帮助开发者更好地进行页面交互与样式控制。

【一】添加监听事件

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

 

转载于:https://www.cnblogs.com/focuslgy/p/3251153.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值