看代碼
代碼如下 |
複製代碼 |
<html> <head> <title>JS Practice</title> </head> <body> <script src="script.js"></script> <div id = "main"> <h1>Simple HTML Page</h1> <p>This is a very simple HTML page.</p> <p>It's about as basic as they come. It has: </p> <ul> <li>An H1 Tag</li> <li>Two paragraphs</li> <li>An unordered list</li> </ul> </div> <div id="javascript"> </div> </body> </html> |
只有在Google瀏覽器出現這個錯誤,其他IE系列,FF,Opera都是正常。
找了一下原因,js的
代碼如下 |
複製代碼 |
document.body.appendChild(container); |
是在 body 之前啟動並執行,這個時候,document.body 不存在,即為 null ,所以 document.body.appendChild 就會報告上面的錯誤。
解決方案:
把SCRIPT 程式碼封裝含到 <body></body> 裡面或者放到body標籤後面即可正常運行.
修改後代碼
代碼如下 |
複製代碼 |
<html> <head> <title>JS Practice</title> </head> <body> <div id = "main"> <h1>Simple HTML Page</h1> <p>This is a very simple HTML page.</p> <p>It's about as basic as they come. It has: </p> <ul> <li>An H1 Tag</li> <li>Two paragraphs</li> <li>An unordered list</li> </ul> </div> <div id="javascript"> </div> <!-- Now it will run after the above elements have been created --> <script src="script.js"></script> </body> </html> |
你在在gg瀏覽器下嘗試一下會不會出現Javascript Cannot call method 'appendChild' of null錯誤啊,沒有了吧。