javascript - '无法设置未定义的属性 "innerHTML"'

标签 javascript html

我正在尝试编写一个非常简单的脚本来将元素的 innerHTML 设置为时间。但是,Javascript 不断抛出“无法设置未定义的属性‘innerHTML’”错误。在调试期间,我已将我的脚本简化为它在元素 (a <span>) 编码后立即运行,因此我知道它应该已经加载。我还尝试将此脚本作为 <body onload= 运行参数 - 同样的错误。我不知道我做错了什么。

<div style="position: fixed; right: 10px; top: 10px; width: auto; font-size: 16pt; border: 2px solid #000000;">
    <span id="clock">Loading...</span>
    <script type="application/x-javascript">
        function setClock(spanid){
            var d = new Date();
            document.getElementById[spanid].innerHTML = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds;
        }
        setClock("clock");
    </script>
</div>

感谢任何帮助!

最佳答案

您不是在调用 getElementById,您是在尝试对其进行索引。由于它不是数组并且不会暴露类似数组的行为,因此结果为 undefined。将您的 getElementById[spanId] 替换为 getElementById(spanId)

关于javascript - '无法设置未定义的属性 "innerHTML"',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18779236/

相关文章:

当页面上的地址栏可见时,JavaScript 代码无法在移动设备上运行?

javascript - 如何检查我是否在浏览器中运行 JavaScript 代码?

javascript - SinonJS 假计时器不适用于 QUnit

Jquery循环遍历运行时创建的元素

javascript - 为离线 Web 应用程序存储图像数据(客户端存储数据库)

javascript - 如何在 html 表格中给出分界线。?

java - 404 Java 项目中的 Apache tomcat

javascript - 尝试在 nodejs 中重新创建工作的 java 加密方法

javascript - 总是收到 android.database.sqlite.SQLiteException : near "Time" when running SQLite

html - 字体图标显示在本地主机上,但在线上传时未显示