JS获取所有相同类名的元素

http://www.ipuman.com/pm1/s13/152/index.html

在一个网页中,ID具有唯一性,而CLASS就可以重复使用。有些情况下,某些元素,我们使用同一个类classname来使它们保持一致性,当前端需要对它们动态处理的时候,我们希望能够以class来获取它们,而不是一一给它们赋予ID。下面是一个JS获取所有相同类名元素的函数。

view source
print ?
01 function getElementsByClassName(className, outid){
02     var oBox = document.getElementById(outid); //获取ID为outid的元素
03     this.d = oBox || document; //检测oBox是否存在,如果不存在则把document赋予内部变量d
04     var children = this.d.getElementsByTagName('*') || document.all; //获取页面所有元素
05     var elements = new Array(); //定义一个数组,用于存储所得到的元素
06     //获取元素的class为className的所有元素
07     for(var i=0; i<children.length; i++){
08       var child = children[ii];
09       var classNames = child.className.split(' ');
10         for(var j=0; j<classNames.length; j++){
11             if(classNames[j] == className){
12                 elements.push(child); //如果class存在,则存入elements
13                 break;
14             }
15         }
16     }
17     return elements;
18 }

你可能感兴趣的:(JS获取所有相同类名的元素)