我试图用JS编写一些代码,但是,当我将鼠标悬停在鼠标上时,会看到错误“无法在ahint处设置null的'innerHTML'属性”。我已经读到可能会发生这种错误,因为Chrome甚至在创建Div之前都会编译/渲染JS代码。因此,我将其放在底部进行检查。不幸的是,把它放在最底下并不能解决我的问题。也许更有经验的人会理解。
var hint = "Hello";
function ahint()
{
document.getElementById('#randomhint').innerHTML = hint;
}
<div id="randomhint" onmouseover="ahint()">!</div>
<script type="text/javascript" src="main.js"></script>
</body>
答案 0 :(得分:2)
从标识符中删除#
:
var hint = "Hello";
function ahint()
{
document.getElementById('randomhint').innerHTML = hint;
}
您可能已经在使用jQuery或类似库的代码中看到了#
,例如$('#randomhint')
。这样,这些库就知道您的意思是使用id
而不是标签名称。
但是在使用getElementById
(它是“原始” JavaScript的一部分)时,您不需要(也不能使用)它。对于getElementById
,只有实际的id
值("randomhint"
)属于那里。