Uncaught TypeError: Cannot set property 'innerHTML' of null 学习Chrome插件时,要在弹出页面中显示当前时间,结果怎样也显示不出来 看

Uncaught TypeError: Cannot set property 'innerHTML' of null

学习Chrome插件时,要在弹出页面中显示当前时间,结果怎样也显示不出来

看了 http://www.cnblogs.com/mfryf/p/3701801.html 这篇文章后感悟颇深

通过调试发现在js中的一段代码没有执行到,报以下错误

  Uncaught TypeError: Cannot set property 'innerHTML' of null 

  然后查询该错误原因,结果是因为js引用放在了页面的头部,在修改 innerHTML 属性时找不到该属性,因为需要修改一个html标签中的内容,因此需要html加载并解析完成之后才能找到对应id的标签,在 head 处引用 js 导致 js 找不到对应 id ,当将 js 引用放在 body 尾部之后就可以正常显示了。

学习了这么久的编程从来没有好好学习过调试程序的方法,一直都在用 console.log() 、syso()、alert(),真得要好好学习一下程序调试的方法了,太受用了

### 回答1: 这是一个JavaScript错误,意思是无法设置nullinnerhtml属性。这通常是因为你尝试在一个不存在的元素上设置innerhtml属性。你需要检查你的代码,确保你正在尝试设置正确的元素的innerhtml属性。 ### 回答2: 在编写JavaScript代码的过程,常常会遇到“uncaught typeerror: cannot set property 'innerhtml' of null”这样的错误提示。这个错误提示表示JavaScript代码尝试给一个null或undefined变量赋值,具体来说就是在JavaScript代码使用document.getElementById()方法来获取某个HTML元素的引用,该元素不存在或者ID值写错等原因导致无法找到该元素,此就会抛出该错误。 在解决这个错误,我们需要检查代码document.getElementById()方法所获取的元素是否存在,可以通过console.log()输出调试信息,或者在代码添加if语句判断元素是否存在再进行操作。另外,也可能是因为代码在DOM未完全加载完成执行,我们需要确保代码在DOM加载完成后再执行。 总之,出现以上错误,需要认真检查代码,确保元素存在且ID正确,并添加必要的条件判断和等待DOM加载的代码,以免出现上述错误。 ### 回答3: uncaught typeerror: cannot set property 'innerhtml' of null 是一个 JavaScript 错误类型,也被称为运行错误或异常。该错误意味着代码尝试设置一个不存在或未定义为 null 的元素的 innerHTML 属性值,从而导致了内部错误。下面将详细解释该错误的一些原因及解决办法。 1. 原因: 该错误可能是由于以下原因造成的: - 代码未找到元素。尝试在 HTML 使用 id 或类名选择器创建元素,需要确保选择器匹配了具有正确 id 或类名的元素。如果代码尝试设置不存在的元素的 innerHTML,则会将 null 分配给元素并触发此错误。 - 代码在元素加载之前运行。如果尝试在文档加载期间运行设置元素的 innerHTML,则可能出现该错误。这种情况下,应将代码包装在 window.onload 或 document.ready 事件,等待文档元素完全加载之后再执行操作。 - 确保代码设置了正确的属性。请注意属性名称的大小写。如果属性名或值未设置正确,则该错误可能出现。 - 变量或元素转换错误。尝试在元素实际未被分配之前读取属性或将错误类型的值赋值给该属性,也可能触发此错误。 2. 解决方法: - 确保选择器与元素匹配:在代码确认元素是否存在,并使用正确的 id 或类名。在元素加载之前,请确保等待文档元素完全加载之后再执行操作。 - 检查属性名和元素是否存在:检查代码属性名称的拼写和大小写是否正确。确保元素存在且正确被分配了ID或者类名。 - 检查变量和数据类型:确保赋值给 innerHTML 属性的变量与 string 数据类型相符合。 综上所述,uncaught typeerror: cannot set property 'innerhtml' of null 错误提示意味着代码尝试为 null 或未定义的元素设置 innerHTML 属性,这并不合法。该错误可能由选择器与元素不匹配、属性名称或元素未分配ID或者类名等原因导致。为解决此错误,需要确认选择器与元素匹配、检查属性名称、元素是否存在以及读与分配操作的变量等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值