[英]javascript - Why doesn't innerHTML replacing run?
<!DOCTYPE HTML>
<html>
<head>
<script>
document.write("TEST1")
document.getElementById("demo").innerHTML="TEST2"
document.write("TEST3")
</script>
</head>
<body>
<p id="demo">TO_BE_REPLACED</p>
</body>
</html>
這是輸出:TEST1
TO_BE_REPLACED
看來javascript執行已在document.getElementById("demo").innerHTML="TEST2"
處停止。 為什么不執行?
運行腳本時, <p id="demo">
尚不存在 。 因此, document.getElementById('demo')
返回null
,然后在您嘗試分配null
時觸發錯誤null.innerHTML = "TEST2"
此錯誤將停止所有執行,因此您永遠看不到最終的TEST3
。
您需要將腳本封裝在加載窗口時將調用的函數中(使用“ window.onload”事件)。
<!DOCTYPE HTML>
<html>
<head>
<script>
function replaceDemoText()
{
document.getElementById("demo").innerHTML="TEST2";
}
window.onload = replaceDemoText;
</script>
</head>
<body>
<p id="demo">TO_BE_REPLACED</p>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.