HTML file ...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="src/myJS.js"></script>
</head>
<body onload="myJS.myFunction();">
<p id="p01"></p>
</body>
</html>
External Javascript file (called myJS.js for convenience) ...
myJS = {
myFunction: function()
{
//This works
document.write("Hello world. ");
//This does not work
document.getElementById("p01").appendChild(document.createTextNode("Hello world, again"));
}
};
My best guess is that the node p01 has not been created when myJS is executed, but I thought that onload would do the right thing with it.
thanks
shreesh chandra shukla
19-Aug-2013Because p01 is not yet added to the DOM.
Try like this:
<body>
<p id="p01"></p>
<script type="text/javascript">
window.onload = myJS.myFunction;
</script>
</body>