为什么收到“无法在ahint设置null的属性'innerHTML'的信息”

时间:2019-02-06 13:39:19

标签: javascript innerhtml

我试图用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>

1 个答案:

答案 0 :(得分:2)

从标识符中删除#

var hint = "Hello";

function ahint()
{
    document.getElementById('randomhint').innerHTML = hint;
}

您可能已经在使用jQuery或类似库的代码中看到了#,例如$('#randomhint')。这样,这些库就知道您的意思是使用id而不是标签名称。

但是在使用getElementById(它是“原始” JavaScript的一部分)时,您不需要(也不能使用)它。对于getElementById,只有实际的id值("randomhint")属于那里。