2015-01-08 16 views
8

Dlaczego pojawia się błąd w przeglądarce?TypeError: document.body ma wartość null

TypeError: document.body is null

Kod działa dobrze w JSfiddle.

HTML

<head> 
    <meta charset="UTF-8"> 
    <title></title> 
    <script src="jsscript.js"></script> 
</head> 
<body> 
</body> 

JS

var creElem = document.createElement("p"); 
creElem.innerHTML = "Hellow World"; 
creElem.setAttribute("id", "id_name"); 
document.body.appendChild(creElem); 
+1

JSFiddle uruchomić skrypt po załadowaniu strony. ("onLoad" w lewym panelu) – iForests

Odpowiedz

10

wykonanie kodu, gdy ładunki DOM. Zawiń logikę w detektorze zdarzeń dla DOMContentLoaded.

document.addEventListener('DOMContentLoaded', function() { 
    // ... 
}); 

Powodem to działało w JSFiddle dlatego, że JS jest wykonywany od obciążenia (to opcja domyślna w JSFiddle).


Alternatywnie, w zależności od kiedy trzeba logikę do wykonania, można również użyć:

window.addEventListener('load', function() { 
    // ... 
}); 

Patrz: Difference between DOMContentLoaded and Load events

Powiązane problemy