第33天:封装自己的class类

简介: 封装自己的class类,实现浏览器兼容。 1 DOCTYPE html> 2 3 4 5 封装自己的class类 6 7 div{ 8 width: 200px; 9 height: ...

封装自己的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>

 

相关文章
|
4月前
|
Java
java反射-获取类的Class对象方式
java反射-获取类的Class对象方式
|
5月前
|
C++
【C++基础】类class
【C++基础】类class
30 1
|
11月前
|
Java
JAVA 抽象类(Abstract Class) 和 接口(Interface) 的区别
对于面向对象编程来说,抽象是它的一大特征之一。在 Java 中,可以通过两种形式来体现 OOP 的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。今天我们就一起来学习一下Java中的接口和抽象类抽象类不能用于实例化对象,抽象类往往用来表示抽象概念。举个例子,中国人(Chinese 类)和美国人(American 类)都有“吃饭”这个行为,因此可以先定义一个 Person 类,然后让 Chinese 和 American 都继承这个类。但如何在父类 Person 中定义“吃饭”这个方法呢?一般
116 0
|
5月前
|
Java API
Class 类
Class 类
33 1
|
Java API
Java反射(二)Class类
对class类做出介绍
112 0
|
JavaScript 前端开发
类(Class)
类(Class)
105 0
|
Java
Class类
Class类
105 0
|
安全
获取Class对象的其他方式
获取Class对象的其他方式
101 0