Javascript 为什么我会得到;无法设置属性';innerHTML';“在某个位置为空”;

Javascript 为什么我会得到;无法设置属性';innerHTML';“在某个位置为空”;,javascript,innerhtml,Javascript,Innerhtml,我曾尝试用JS编写一些代码,但当我将鼠标悬停时,会看到错误“无法将属性'innerHTML'设置为空”。我读到过这样一个错误,因为Chrome在创建Div之前编译/呈现JS代码。因此,我把它放在底部进行检查。不幸的是,把它放在底部并没有解决我的问题。也许更有经验的人会理解 var-hint=“你好”; 函数ahint() { document.getElementById('#randomhint').innerHTML=hint; }从标识符中删除#: var hint = "Hello";

我曾尝试用JS编写一些代码,但当我将鼠标悬停时,会看到错误“无法将属性'innerHTML'设置为空”。我读到过这样一个错误,因为Chrome在创建Div之前编译/呈现JS代码。因此,我把它放在底部进行检查。不幸的是,把它放在底部并没有解决我的问题。也许更有经验的人会理解

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
的文档,你会发现你的错误。这是否回答了你的问题?相关:。