为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么不能直接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;
}

正在回答

3 回答

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

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



2 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

慕桂英9545975

我觉得他想问的是为什么要不把*/判断过的元素/*直接拿来用,而要把它放入一个数组中,我估计原因是 有时并不是只控制一个原件可以让窗口移动,而是点多个中的某一个都可以,所以要把他们都选出来放入数组中 其实我也不知道,同问
2016-04-25 回复 有任何疑惑可以回复我~
#2

其实TAMA酱不是我名字 提问者 回复 慕桂英9545975

嗯嗯。。谢谢,就是想问为什么不把判断过的元素直接拿来用。。
2016-04-25 回复 有任何疑惑可以回复我~

不知道

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信