Javascript 为什么我会得到;无法设置属性';innerHTML';“在某个位置为空”;
我曾尝试用JS编写一些代码,但当我将鼠标悬停时,会看到错误“无法将属性'innerHTML'设置为空”。我读到过这样一个错误,因为Chrome在创建Div之前编译/呈现JS代码。因此,我把它放在底部进行检查。不幸的是,把它放在底部并没有解决我的问题。也许更有经验的人会理解Javascript 为什么我会得到;无法设置属性';innerHTML';“在某个位置为空”;,javascript,innerhtml,Javascript,Innerhtml,我曾尝试用JS编写一些代码,但当我将鼠标悬停时,会看到错误“无法将属性'innerHTML'设置为空”。我读到过这样一个错误,因为Chrome在创建Div之前编译/呈现JS代码。因此,我把它放在底部进行检查。不幸的是,把它放在底部并没有解决我的问题。也许更有经验的人会理解 var-hint=“你好”; 函数ahint() { document.getElementById('#randomhint').innerHTML=hint; }从标识符中删除#: var hint = "Hello";
var-hint=“你好”;
函数ahint()
{
document.getElementById('#randomhint').innerHTML=hint;
}
从标识符中删除#
:
var hint = "Hello";
function ahint()
{
document.getElementById('randomhint').innerHTML = hint;
}
您可能已经在使用jQuery或类似库的代码中看到了
,如$(“#随机提示”)
。这就是为什么这些库知道您要使用id
,而不是标记名
但是在使用
getElementById
(这是“普通”JavaScript的一部分)时,您不需要(也不能使用)它。使用getElementById
,只有实际的id
值(“randomhint”
)才属于那里。谢谢,你能解释一下问题的原因吗?尽管如此,普通javascript也可以使用#id
,例如querySelector
@LGSon这当然是一种打字错误。但是,当涉及语言的逻辑和语法时,一些打字问题是有效的,而不是纯粹的错误,如getEEElementById
。我并不是想暗示香草JavaScript从不以这种方式使用
;我编辑我的答案是为了澄清。太好了..并且理解了这一点,所以我写了edge case:)我编辑了你的答案作为习语。然而,对于“我已经把它放在底部”中的代词,我仍然不清楚。你可以编辑它。如果你阅读getElementById
的文档,你会发现你的错误。这是否回答了你的问题?相关:。