javascript类型错误innerHTML [重复]
Posted
技术标签:
【中文标题】javascript类型错误innerHTML [重复]【英文标题】:javascript Type error innerHTML [duplicate] 【发布时间】:2017-11-10 09:35:11 【问题描述】:我正在编写代码并收到“Uncaught TypeError: Cannot set property 'innerhtml' of null”错误
html
<html>
<head>
<script src ="timer.js"></script>
</head>
<body>
<div id="r"></div>
</body>
</html>
Java 脚本
//window.onload=function()
var start=Date.now(),r=document.getElementById('r');
(function f()
var diff=Date.now()-start,ns=(((3e5-diff)/1000)>>0),m=(ns/60)>>0,s=ns-m*60;
r.textContent="Registration closes in "+m+':'+((''+s).length>1?'':'0')+s+'
minutes';
document.getElementById('r').innerHTML = result;
if(diff>(3e5))start=Date.now()
setTimeout(f,1000);
)();
//
我只想在html页面上显示结果
【问题讨论】:
我在您的 html 中没有看到 id 为“test”的元素? 我已经编辑了代码,以反映正确的代码 那么你在元素存在之前就引用了它...... 【参考方案1】:没有id = 'test'的元素
我认为你必须写:
(function f()
var start = Date.now(),
var r = document.getElementById('r');
var diff = Date.now() - start,
ns = (((3e5 - diff) / 1000) >> 0),
m = (ns / 60) >> 0,
s = ns - m * 60;
r.textContent = "Registration closes in " + m + ':' + (('' + s).length > 1 ? '' : '0') + s + ' minutes';
//here the change
document.getElementById('r').innerHTML = result;
if (diff > (3e5))
start = Date.now()
setTimeout(f, 1000);
)();
请使用 javascript 缩进。
【讨论】:
别忘了添加正确的代码 我已经编辑了代码以反映正确的代码 我仍然收到未捕获的类型错误:无法将属性“textContent”设置为 null。指 r.textContent 行 我更新了答案 Uncaught TypeError: Cannot set property 'textContent' of null 是它仍然在 r.textContent 行上引用的错误以上是关于javascript类型错误innerHTML [重复]的主要内容,如果未能解决你的问题,请参考以下文章
错误类型错误:尝试更改标签的 InnerHtml 属性时无法将属性“innerHTML”设置为空(Typescript / HTML / Angular)
如何使用innerHTML插入javascript(ie6给我一个未知的运行时错误)
未捕获的类型错误:无法读取 null 的属性“innerHTML”
未捕获的类型错误:无法将属性“innerHTML”设置为 null