為什么這樣寫不行?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>計(jì)時(shí)器</title>
</head>
<script type="text/javascript">
? var num=0;
? function startCount() {
??? document.getElementById('count').value=num;
??? num=num+1;
??? setTimeout("startCount()",1000);
? }
startCount();
</script>
</head>
<body>
<form>
<input type="text" id="count"/>
</form>
</body>
</html>
2016-12-05
因?yàn)榻馕鯤TML文檔是從上往下解析的,所以執(zhí)行JS代碼的時(shí)候,HTML的DOM結(jié)構(gòu)還沒有構(gòu)建好,就無法得到相應(yīng)節(jié)點(diǎn)。
解決辦法1:整個(gè)js代碼放在</body>標(biāo)簽之前。
解決辦法2:設(shè)置延時(shí)操作。
startCount(); --》? setTimeout("startCount()",1000);?
等待的1s時(shí)間中 DOM已經(jīng)搭建完成。