第33天:封装自己的class类

封装自己的类类,实现浏览器兼容。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>封装自己的class类</title>
 6     <style>
 7         div{
 8             width: 200px;
 9             height: 200px;
10             background: pink;
11             margin:10px;
12         }
13     </style>
14     <script>
15         window.onload=function(){
16             //封装自己的class类名
17             function getClass(classname,id) {
18                 //如果浏览器支持,则直接返回
19                 if(document.getElementsByClassName){
20                     //有id
21                     if(id){
22                         var eleId=document.getElementById(id);
23                         return eleId.getElementsByClassName(classname);
24                     }else{//没有id的情况
25                         return document.getElementsByClassName(classname);
26 
27                     }
28                 }
29                 //不支持的情况
30                 if(id){
31                     var eleId=document.getElementById(id);
32                     var dom=eleId.getElementsByTagName("*");
33                 }else{
34                     var dom=document.getElementsByTagName("*");
35                 }
36 
37                     var arr=[];
38                     for(var i=0;i<dom.length;i++){
39                         var txtarr=dom[i].className.split(" ");
40                         for(var j=0;j<txtarr.length;j++){
41                             if(txtarr[j]==classname){
42                                 arr.push(dom[i]);
43                             }
44                         }
45                     }
46                 return arr;
47             }
48             //console.log(getClass("test","one").length);
49             //测试
50             /*var aa=getClass("test","one");
51             for(var i=0;i<aa.length;i++){
52                 aa[i].style.backgroundColor="blue";
53             }*/
54         }
55     </script>
56 </head>
57 <body>
58 <div class="test" ></div>
59 <div class="demo"></div>
60 <div class=" demo test"></div>
61 <div id="one">
62     <div class="demo test"></div>
63     <div class=" test"></div>
64     <div class="demo test"></div>
65 </div>
66 <div></div>
67 </body>
68 </html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值