是的,没错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");