簡體   English   中英

javascript-為什么innerHTML替換無法運行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM