这个和代码的执行顺序有关,代码的读取是自上而下的,如果你的JS放置在顶端并且没有进行一些处理(如网页加载完毕之后再执行JS)的话,那么在读取JS时,底部的HTML内容并没有被加载,HTML当中的标签可能就是获取不到的
如果把JS放置在body的关标签之前,则能够保证JS会在网页加载完毕之后再被读取,也就不会出现相应的一些错误或问题。
当然JS给了开发者更强大的功能,可以让网页加载完毕之后再执行JS(如果放置在顶端的话,原生方法onload)
具体可以看这个实例:
HTML5 学堂 - 原创技术文章
HTML5
最终浏览器打印效果如下图:
前者没有获取到标签,而后者则拿到了标签