我正在尝试使用此solution,但使用的.getElementsByTagName()
会产生错误:
var tags = document.body.getElementsByTagName("*");
Uncaught TypeError: Cannot read property 'getElementsByTagName' of null
为什么会产生此错误以及如何解决?
答案 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");
});
小心,上面的JavaScript示例等待页面加载(图像,iframe等)。这比jQuery准备好了更多的时间。