/**
* 解决 getElementsByClassName() 兼容问题
* @param className 待查找的类名
* @param context 查找上下文DOM对象,可选,默认使用 document
* @return 返回查找到的满足条件的DOM元素集合
*/
function getElementsByClassName(className, context) {
context = context || document;
if (context.getElementsByClassName) // 支持使用 getElementsByClassName() 方法
return context.getElementsByClassName(className);
/* 不支持使用 getElementsByClassName() 方法 */
// 保存查找结果的数组
var result = [];
// 查找出上下文后代中所有元素
var tags = context.getElementsByTagName("*");
// 遍历所有元素
for (var i = 0, len = tags.length; i < len; i++) {
// 判断当前遍历到元素是否有使用过待查找的类名
var classNames = tags[i].className.split(" ");
if (inArray(className, classNames) !== -1) // 当前遍历到的元素使用过待查找的类名
result.push(tags[i]);
}
// 返回查找结果
return result;
}
原生JavaScript解决document.getElementsByClassName兼容问题
最新推荐文章于 2022-10-14 10:34:04 发布