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

来源:4-1 [DOM事件] QQ面板拖拽效果(上)

其实TAMA酱不是我名字

2016-04-24 19:46

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

写回答 关注

3回答

  • 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[]少一些元素的。我们需要的是哪个,就返回哪个

    其实TAMA... 回复慕桂英954...

    嗯嗯。。谢谢,就是想问为什么不把判断过的元素直接拿来用。。

    2016-04-25 14:02:34

    共 2 条回复 >

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

    不知道

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99544 学习 · 1197 问题

查看课程

相似问题