JSdocument.getelementsbyclassname介绍和自定义函数

GetElementsByClassName()是一种新的DOM API HTML5不支持IE8搜索下。

该getelementbyclassname()函数的使用:

使用Javascript访问DOM的一个主要问题,这个过程需要一个类的名字选择DOMContentReady类的功能元素,这种缺乏的功能,导致开发人员需要编写您自己的自定义脚本来在这个行业中执行这些任务,许多类型的脚本是在getelementbyclassname()的建立,解决的方法在HTML5标准化之外,在现代的本地浏览器也存在这种方法(getelementbyclassname),只使用一个字符串值作为输入并返回一个列表,该列表包含所有类的名称匹配的字符串值的元素:

var el = document.getelementsbyclassname('foo);

通过将类与字符串中的字符串分隔开,还可以匹配多个类。下面的代码选择所有既有富类名称又有bar类名称的元素。

var el = document.getelementsbyclassname('foo酒吧);



W3C没有getelementbyclassname函数,我们可以定义一个函数来模拟。

以下是以下方法:

1。它不是用jQuery来实现的。

2。通过自定义函数解决问题

当类为单一类时,如类


功能getelementsbyclassname(className){
所有变量= document.all document.all:document.getelementsbytagname(*);
var元素=新数组();
对于(VAR E = 0;E组all.length;E + +){
如果(所有{ } = = E。类名className){
元素{长度= } =所有{ };
打破;
}
}
返回的元素;
}


代码的两,


功能getelementsbyclassname(类名、父){
无功oparent = parentdocument.getelementbyid(母):文件;
VaR OLIS = oparent.getelementsbytagname(*);
var arr = { };
对于(var i = 0;i < olis.length;i++){
如果(OLIS {我}。类名= = className){
Arr.push(OLIS {我})
};
报酬;
}
};


类还比赛很多次,如class=test1 test2试验


功能getelementsbyclassname(className){
所有变量= document.all document.all:document.getelementsbytagname(*);
var元素=新数组();
对于(VAR E = 0;E组all.length;E + +){
变量列表=所有{ E }。classname.split();
对于(var i = 0;i < classlist.length;i++){
如果(列表{我} = = className){
元素{长度= } =所有{ };
打破;
}
}
}
返回的元素;
}


遵循完整的测试代码:







/ * js写getelementbyclassname;
I found chorm, Firefox, document.getElementsByClassName / IE support
在window.onload =函数(){
VaR盾= document.getelementsbyclassname(步骤);
对于(var i = 0;i < adom.length;i++)
干{我}。风格。背景颜色=红色;
};
功能getelementbyclassname(className){
VaR elems = { };
如果(!文件。getelementsbyclassname){
警报(没有出口);
VaR DOM = document.getelementbytagname(*);
对于(var i = 0;i < dom.length;i++){
如果(DOM {我}。类名= className)
Elems.push (dom{i});
}
其他{ }
艾丽美= document.getelementsbyclassname(类名);
警报('exit);
}
返回单元;
}




A1
A1
A1
A1
A1





效果如图所示。