问答详情
源自:2-3 JavaScript实现瀑布流布局中图片定位

Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined

浏览器是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

请问是哪里错了呢

提问者:virusos 2016-08-22 15:34

个回答

  • 慕粉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('*');

  • _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