js获取class类封装方法

   function getClass (classname,obj) {//obj就是找的标签范围;
     var obj=obj||document;//如果obj没有参数传进来的话就为假,就返回document;
	 var arr=[];//设置一个数组来存储在ie下标签的className属性值等于类名的元素;
	 if(document.getElementsByClassName){//如果条件为真,就代表浏览器为火狐;
	    return document.getElementsByClassName(classname)//火狐下面直接返回结果;
	 }else{//不是火狐
	   var alls=document.getElementsByTagName("*");//首先找到页面所有的标签;
	   for (var i=0; i<alls.length; i++) {
	     if(checkclass(alls[i].className,classname)){//1.1.回调函数判断类名,因为同一标签可能有多个类名;
		  arr.push(alls[i])//1.3.如果是真的,就把这个元素推进数组里面;
		 }
	   }
	   return arr;
	 }
   }
   function checkclass (startclass,endclass) {//判断类名
     var arr=startclass.split(" ");//多个类名用空格分隔成不同元素的数组;
	 for (var i=0; i<arr.length; i++) {
	   if(arr[i]==endclass){//1.2.被分割的数组元素里面如果有一个等于classname就返回真;
	     return true;
	   }
	 }
	 return false;
   }
<pre name="code" class="html">function getClass (classname,obj) {//obj就是找的标签范围;
     var obj=obj||document;//如果obj没有参数传进来的话就为假,就返回document;
	 var arr=[];//设置一个数组来存储在ie下标签的className属性值等于类名的元素;
	 if(document.getElementsByClassName){//如果条件为真,就代表浏览器为火狐;
	    return document.getElementsByClassName(classname)//火狐下面直接返回结果;
	 }else{//不是火狐
	   var alls=document.getElementsByTagName("*");//首先找到页面所有的标签;
	   for (var i=0; i<alls.length; i++) {
	     if(checkclass(alls[i].className,classname)){//1.1.回调函数判断类名,因为同一标签可能有多个类名;
		  arr.push(alls[i])//1.3.如果是真的,就把这个元素推进数组里面;
		 }
	   }
	   return arr;
	 }
   }
   function checkclass (startclass,endclass) {//判断类名
     var arr=startclass.split(" ");//多个类名用空格分隔成不同元素的数组;
	 for (var i=0; i<arr.length; i++) {
	   if(arr[i]==endclass){//1.2.被分割的数组元素里面如果有一个等于classname就返回真;
	     return true;
	   }
	 }
	 return false;
   }


 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值