Посмотрите на это . Блок javascript должен находиться после элемента html:
Ваш код работает, но лучше использовать так:
var btn =
document.getElementById('myBtn');
btn.addEventListener('click',function
(e) { alert('my click works after the html element has been created');
},true);