Тело еще не определено. В общем, вы хотите создать все элементы перед выполнением JavaScript, который использует эти элементы. В этом случае у вас есть некоторый JavaScript в разделе head
, который использует body
. Не круто.
Вы хотите обернуть этот код в обработчик window.onload
или поместить его после тега <body>
(как указано e-bacho 2.0 ).
<head>
<title>Javascript Tests</title>
<script type="text/javascript">
window.onload = function() {
var mySpan = document.createElement("span");
mySpan.innerHTML = "This is my span!";
mySpan.style.color = "red";
document.body.appendChild(mySpan);
alert("Why does the span change after this alert? Not before?");
}
</script>
</head>
См. Демонстрацию .