使用document.getElementsByClassName 老版本IE9以前的版本兼容
Posted kdiekdio
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用document.getElementsByClassName 老版本IE9以前的版本兼容相关的知识,希望对你有一定的参考价值。
/**
* 根据类名查找元素,解决浏览器兼容问题
* @param className <String> 待查找的类名
* @return 返回查找到的元素集合
*/
function byClass(className) {
if (document.getElementsByClassName) // 支持使用
return document.getElementsByClassName(className);
/* 不支持使用 getElementsByClassName() 方法,解决兼容 */
// 定义保存结果的数组
var result = [];
// 根据标签名查找所有元素
var elements = document.getElementsByTagName("*");
// 遍历每个元素
for (var i = 0, len = elements.length; i < len; i++) {
// 当前遍历到元素的所有类名
var classNames = elements[i].className.split(" ");
// 遍历当前元素的类名
for (var j = 0, l = classNames.length; j < l; j++) {
// 判断当前遍历到的类名是否与待查找元素的类名一致
if (classNames[j] === className) {
// 一致,则说明当前遍历到的元素是待查找出元素其中之一
result.push(elements[i]);
break;
}
}
}
// 返回查找到的结果
return result;
}
以上是关于使用document.getElementsByClassName 老版本IE9以前的版本兼容的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?