码迷,mamicode.com
首页 > 其他好文 > 详细

使用document.getElementsByClassName 老版本IE9以前的版本兼容

时间:2019-01-05 13:27:11      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:问题   fun   var   使用   ===   @param   老版本   push   res   

/**
* 根据类名查找元素,解决浏览器兼容问题
* @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以前的版本兼容

标签:问题   fun   var   使用   ===   @param   老版本   push   res   

原文地址:https://www.cnblogs.com/kdiekdio/p/10223879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!