Проблема в том, что в момент вызова функции getElementById
DOM еще не завершил загрузку, поэтому элемент myHeader
не существует. Вам нужно выполнить этот код после завершения загрузки DOM. Например:
window.onload = function() {
var x = document.getElementById("myHeader");
alert(x.innerHTML);
};
Если вы используете популярную jQuery инфраструктуру, ваш код может выглядеть следующим образом:
$(function() {
var x = $("#myHeader");
alert(x.html());
});
и он будет работать с большинством браузеров.
Другой вариант - поставить script
непосредственно перед закрытием тега body
:
<h1 id="myHeader">Click me!</h1>
<script type="text/javascript">
<!--
var x=document.getElementById("myHeader");
alert(x.innerHTML);
//-->
</script>
</body>
Поскольку DOM загружается последовательно, как только ваш скрипт начинает выполнение, элемент myHeader
уже будет загружен.