问答详情
源自:2-1 解决IE兼容性问题

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

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;
       }
   }

提问者:慕粉3568301 2016-12-30 17:17

个回答

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

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