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');

阅读 6.4k
2 个回答

我找出来问题了,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');

class换成id

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题