为什么老是提示getElementsByTagName为空,能不能发一下javascript出现各种问题的情况的网站

window.onload = function() {
  waterfall('main','box');
}
function waterfall(parent,box){
  //��main将所有class为box的元素取出来
  var oParent = document.getElementById('parent');
  getByClass(oParent,box);
  console.log(boxArr);
}
//获取class元素
function getByClass(parent,clsName){
  var boxArr =new Array(),  //用来储存获取到class为box的所有元素
     oElements=parent.getElementsByTagName('*'); //这一行报错
  for(var i =0;i<oElements.length;i++){
     if(oElements[i].className==clsName){
        boxArr.push(oElements[i]);
     }
  }
  return boxArr;
}

队友杀手
浏览 2859回答 3
3回答

IT李小贱

getElementsByTagName意思是通过元素名称查找元素,很显然没有*这个元素,自然会报错

队友杀手

问题解决了,我把  var oParent = document.getElementById('parent');当中的引号删除了,然后就正常了,他是没找到parent的main元素,所以返回的是空。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript