Javascript TypeError:无法设置属性';onclick';空的
下面是htmlJavascript TypeError:无法设置属性';onclick';空的,javascript,html,Javascript,Html,下面是html <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Stopwatch</title> </head> <body> <p><span id="seconds">00</span><span>:</span><spa
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Stopwatch</title>
</head>
<body>
<p><span id="seconds">00</span><span>:</span><span id ="tens">00</span></p>
<button id="start">Start</button>
<button id="stop">Stop</button>
<button id="reset">Reset</button>
<script src="main.js"></script>
</body>
</html>
秒表
00:00
开始
停止
重置
下面是javascript
window.onload = function () {
var seconds = 0
var tens = 0
var getTens = document.getElementById('tens')
var getSeconds = document.getElementById('seconds')
var start = document.getElementById('Start')
var stop = document.getElementById('Stop')
var reset = document.getElementById('Reset')
var interval
start.onclick = function () {
clearInterval(interval)
interval = setInterval(startTimer, 10)
}
stop.onclick = function () {
clearInterval(interval)
}
reset.onclick = function () {
clearInterval(interval)
tens = '00'
seconds = '00'
getTens.innerHTML = tens
getSeconds.innerHTML = seconds
}
function startTimer() {
tens++
if (tens < 9) {
getSeconds.innerHTML = '0' + tens
}
if (tens > 9) {
getTens.innerHTML = tens
}
if (tens > 99) {
console.log('seconds')
seconds++
getSeconds.innerHTML = '0' + seconds
tens = 0
getTens.innerHTML = '0' + 0
}
if (seconds > 9) {
getSeconds.innerHTML = seconds
}
}
}
window.onload=函数(){
var秒=0
变量tens=0
var getTens=document.getElementById('tens'))
var getSeconds=document.getElementById('seconds'))
var start=document.getElementById('start')
var stop=document.getElementById('stop')
var reset=document.getElementById('reset')
var区间
start.onclick=函数(){
清除间隔(间隔)
间隔=设置间隔(起始时间,10)
}
stop.onclick=函数(){
清除间隔(间隔)
}
reset.onclick=函数(){
清除间隔(间隔)
十位数='00'
秒数='00'
getTens.innerHTML=tens
getSeconds.innerHTML=seconds
}
函数startTimer(){
十++
如果(十位数<9){
getSeconds.innerHTML='0'+tens
}
如果(十位数>9){
getTens.innerHTML=tens
}
如果(十位数>99){
console.log('seconds')
秒++
getSeconds.innerHTML='0'+秒
十=0
getTens.innerHTML='0'+0
}
如果(秒>9){
getSeconds.innerHTML=seconds
}
}
}
我得到了这个(main.js:11 uncaughttypeerror:cannotsetproperty'onclick'为null
控制台中的at window.onload)错误,无法找出原因。我尝试了多种其他解决方案,包括在HTML中移动标记,正如我所看到的,这对其他人有帮助,但我无法获得它。
id
s区分大小写。所以您的元素是#stop
,而不是#stop
var stop = document.getElementById('stop')
只需确保对所有元素执行此操作。检查id的大小写。
您在html中编写
id=“start”
,但在js中编写document.getElementById('start')
,这在atom中给了我一个ESLint错误,在console中仍然是相同的错误@gurvinder372和同样的reset
\reset
谢谢,就是这样,我觉得自己像个白痴+1年,我为所有人做了。Cheers@Roman赞成。。我认为这很明显,但我修改了我的答案。