innerHTML Not working!

I trying to display a random number using innerHTML
Here’s my code:

<html>
<head>
<script language="JavaScript">
var myArray = new Array("String1", "String2", "String3", "String4", "String5", "String6", "String7", "String8", "String9", "String10");

var num = Math.floor(myArray.length * Math.random());

document.writeln(myArray[num]);
//document.getElementById("myString").innerHTML = myArray[num];
</script>
</head>


<body>
<div id="myString"></div>
</body>
</html>

it works when I use document.writeln(myArray[num]); but does NOT work for document.getElementById(“myString”).innerHTML = myArray[num];

any ideas??
tks

It does not work because at the moment you call the document.getElementById(“myString”) the “myString” is not defined. Try to put the javascript right before body tag, like this:

<html>
<head>
</head>
<body>
<div id="myString"></div>
<script language="JavaScript">
var myArray = new Array("String1", "String2", "String3", "String4", "String5", "String6", "String7", "String8", "String9", "String10");

var num = Math.floor(myArray.length * Math.random());

//document.writeln(myArray[num]);
document.getElementById("myString").innerHTML = myArray[num];
</script>
</body>