未捕获的TypeError:无法读取null的属性'getElementsByTagName'

时间:2014-04-24 08:58:57

标签: javascript function typeerror

我正在尝试使用此solution,但使用的.getElementsByTagName()会产生错误:

var tags = document.body.getElementsByTagName("*");
Uncaught TypeError: Cannot read property 'getElementsByTagName' of null

为什么会产生此错误以及如何解决?

3 个答案:

答案 0 :(得分:64)

请注意,如果您使用LastPass ,则此错误也会,至少与2016年11月7日相同。我认为这是我的代码问题,但显然它是不

答案 1 :(得分:11)

document.body在创建正文元素之前,不会获得分配给它的值。

<script><head>元素移动到<body>元素(因为您试图获取其中的所有元素,您想要在<\ n} em> end body元素)或将其放入函数中并从创建正文后触发的事件(例如window load事件)中调用它。 / p>

答案 2 :(得分:-1)

功能示例:

两种方法的示例:

function init() {
  alert("hello javascript");
};

window.addEventListener("load",init,false);

$(document).ready(function () {
  alert("hello jQuery");
});

http://jsfiddle.net/Ln5zu4Lt/

小心,上面的JavaScript示例等待页面加载(图像,iframe等)。这比jQuery准备好了更多的时间。