为什么是返回数组啊?那用的时候,不会出问题吗?

来源:2-1 解决IE兼容性问题

慕粉3568301

2016-12-30 17:17

window.onload = function () {
   //因为ie不兼容getelementbyclassname这个方法,所以写了这个函数进行兼容
   if (!document.getElementsByClassName) {
       document.getElementsByClassName = function (cls) {
           var ret = [];
           var els = document.getElementsByTagName('*');
           for (var i = 0, len = els.length; i < len; i++) {

               if (els[i].className.indexOf(cls + ' ') >=0 || els[i].className.indexOf(' ' + cls + ' ') >=0 || els[i].className.indexOf(' ' + cls) >=0) {
                   ret.push(els[i]);
               }
           }
           return ret;
       }
   }

写回答 关注

1回答

  • 拱猪的小白菜
    2017-01-04 17:30:29
    已采纳

    拥有相同类名的节点不是唯一的,一个页面内可能有多个同名类名,那么用js获取类名的方法,获取到的就是一个数组

用JS实现购物车特效

通过JavaScript实现类似淘宝网络购物车功能效果

43236 学习 · 167 问题

查看课程

相似问题