Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined

来源:2-3 JavaScript实现瀑布流布局中图片定位

virusos

2016-08-22 15:34

浏览器是chrome


function getByClass(parent,clsName){

    var boxArray=new Array(); //保存所有class为clsName的元素

    var oElements=parent.getElementsByTagName('*'); //获取parent中的所有元素

    for(var i=0;i<oElements.length;i++){

        if(oElements[i].className==clsName)

            boxArray.push(oElements[i]);

    }

    return boxArray;

}

谷歌控制台出现:

Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined

请问是哪里错了呢

写回答 关注

5回答

  • 慕粉13482341627
    2016-11-03 14:31:36

    var oElements=parent.getElementsByTagName('*'); 这句你的parent传的是父元素的id,不能用id.getElementsByTagName,要先把parent传的id变成一个dom节点,做法是加var oparent=document.getElementById(parent); var oElements=oparent.getElementsByTagName('*');

    共 1 条回复 >

  • _zzh
    2016-09-05 22:26:17

    这种情况是js脚本无法再html中获取到相应dom(也就是指定标签)元素。

  • _zzh
    2016-09-05 22:23:46

    我刚刚解决了。检查下html中ID,class属性是否和js文档中属性是否一致。

  • 晴道
    2016-09-02 08:07:48

    这种情况肯定是用空的dom对象调用dam方法了

  • virusos
    2016-08-22 16:00:05

    知道了……orz

    威她命wil...

    怎么解决???

    2016-08-31 14:50:09

    共 1 条回复 >

瀑布流布局

瀑布流布局是网站比较流行的一种布局方式,教你实现三大方式

97759 学习 · 736 问题

查看课程

相似问题