问答详情
源自:4-1 [DOM事件] QQ面板拖拽效果(上)

请问为什么不能直接return element[i],而是要将它放入一个数组中?

function getByClass(clsName,parent){
  var oParent=parent?document.getElementById(parent):document,
      eles=[],
      elements=oParent.getElementsByTagName('*');

  for(var i=0,l=elements.length;i<l;i++){
    if(elements[i].className==clsName){
      eles.push(elements[i]);
    }
  }
  return eles;
}

提问者:其实TAMA酱不是我名字 2016-04-24 19:46

个回答

  • qq_莳萝泡菜_03359237
    2016-06-07 20:11:51

    var  eles=[] 定义eles是一个数组;

    eles.push(elements[i]) 在数组eles的最后加上元素element[i];通过className方法获取的不是唯一的,而是一组数组,所以不能直接return elements[i],return element[i]只是一个元素。



  • AdonisL
    2016-04-24 21:06:52

    因为elements[]和eles[]这两个数组是不一样的啊。elements[]里的元素经过判断,才放入eles[]中,所以eles[]是比elements[]少一些元素的。我们需要的是哪个,就返回哪个

  • 慕粉3169030
    2016-04-24 20:50:33

    不知道