1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>通过className获取元素的方法</title>
6 <style type="text/css">
7 #box1{
8 display: flex;
9 width: 200px;
10 height: 200px;
11 border: 1px red solid;
12 flex-flow: row wrap;
13 justify-content: space-between;
14 align-items: center;
15 }
16 div[class ^= item]{
17 width: 50px;
18 height: 50px;
19 border: 1px green solid;
20 }
21 </style>
22 <script type="text/javascript">
23 window.onload = function(){
24 //思路:
25 /*
26 * 1、先获取元素集合--->通过要获取元素的tagName找到元素集合
27 * 2、将每个元素的className分割为数组,并遍历该数组
28 * 3、判断className数组中是否含有对应的要查找的className,并把找的的元素存到另一个数组中
29 * 4、返回这个数组。
30 *
31 */
32 var oDiv = document.getElementById('box1');
33
34 console.log(getElementByClassName(document,'div','item2'));
35
36 function getElementByClassName(parentEle,tagName,_className){
37 var aEles = parentEle.getElementsByTagName(tagName);
38 var aClassName = [];
39 var arr = [];//存放找到的元素
40 for(var i = 0; i < aEles.length; i++){
41 aClassName = aEles[i].className.split(' ');
42 for(var j = 0; j<aClassName.length; j++){
43 if(aClassName[j] == _className){
44 arr.push(aEles[i]);
45 break;
46 }
47 }
48 }
49 return arr;
50 }
51 };
52 </script>
53 </head>
54 <body>
55 <div id="box1" class="item">
56 <div class="item1">
57
58 </div>
59 <div class="item2">
60
61 </div>
62 <div class="item2">
63
64 </div>
65 <div class="item3 item4">
66
67 </div>
68 </div>
69 </body>
70 </html>