day01-JavaScript中"Uncaught TypeError: Cannot set property 'innerHTML' of null"錯誤


轉行學開發,代碼100天。

初寫了最簡的一段Js代碼,即通過document中的innerHTML方法修改一個<p>標簽的內容,報以下錯誤。

-"Uncaught TypeError: Cannot set property 'innerHTML' of null"錯誤
代碼如下:

<!
DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>js-01</title> <script type="text/javascript"> document.getElementById("pid").innerHTML = "Hello World."; </script> </head> <body> <p id ="pid">Hello</p> </body> </html>

解釋:錯誤原因為document中的innerHTML為空,也就是說在加載js文件時,找不到其中調用的對象即文中的<p>標簽。

因此需要將js文件引用放置到<p>標簽之后,即
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>js-01</title>
    </head>
    <body>
        <p id ="pid">Hello</p>
        <script type="text/javascript">
            document.getElementById("pid").innerHTML = "Hello World.";
        </script>
    </body>
</html>

此時網頁輸出為:


總結:這個小問題暴露了html文件加載順序的理解問題。即html中的內容是按照HTML本身的先后順序加載的。因此在引入js時或者直接添加<script>內容時在html內容之后執行。

其他說明見 https://www.cnblogs.com/Walker-lyl/p/5262075.html

 

 
 
          

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM