是的,没错document.getElementsByClassName不兼容IE8及以下版本浏览器。
所以呢,这里利用document.getElementsByTagName("*");来实现兼容处理。
代码如下:
function getElementsByClassName(className) {
if ("getElementsByClassName" in document) {
return document.getElementsByClassName(className);
} else {
var nodes = document.getElementsByTagName("*"),
nodeArr = [];
for (var i = 0; i < nodes.length; i++) {
var classStr = nodes[i].className;
if (classStr) {
var classArr = classStr.split(" ");
for (var j = 0; j < classArr.length; j++) {
if (className == classArr[j]) {
nodeArr.push(nodes[i]);
}
}
}
}
return nodeArr;
}
}
调用方法:
getElementsByClassName("your class here");