首页 > getElementbyTagName返回Uncaught TypeError

getElementbyTagName返回Uncaught TypeError

首先申明js是放在外部的,在html的头部进行引用,在js中,"var step=searchTip.getElementsByTagName('div')"报错,求大神指教。错误提示如下:


Uncaught TypeError: Cannot read property 'getElementsByTagName' of null

html结构如下:


<div class="searchTips">
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
    </div>

js代码如下


    var searchTip=document.getElementByClassName('searchTips');
    var step=searchTip.getElementsByTagName('div');
    var next=step.getElementsByTagName('a');
    var close=step.getElementsByTagName('span');


class换成id


我找出来问题了,getElementByClassName()返回的是nodelist,因此在searchTip.getElementsByTagName('div')报错,应该这么写:


    <div id="searchTips">
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
        <div><a>下一步</a><span title="关闭">关闭</div>
    </div>

    var searchTip=document.getElementById('searchTips');
    var step=searchTip.getElementsByTagName('div');
    var next=searchTip.getElementsByTagName('a');
    var close=searchTip.getElementsByTagName('span');

【热门文章】
【热门文章】