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

来源:互联网 发布:java程序员就业前景 编辑:程序博客网 时间:2024/04/28 06:26

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

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

view source
print?
01function 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}
0 0
原创粉丝点击