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

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

请问是哪里错了呢

正在回答

5 回答

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

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

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

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

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

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

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

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

知道了……orz

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

威她命willian陈威

怎么解决???
2016-08-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined

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