В этом разделе учебника 
http://beta.javascript.ru/tutorial/modifying-document есть такой код. Это добавление элемента на страницу.
<body>
<div>
  ...
</div>
<script>
  var parentElem = document.body.children[0];
  var newDiv = document.createElement('div');
  newDiv.innerHTML = 'Привет, мир!';
parentElem.insertBefore(newDiv, parentElem.firstChild);
</script>
</body>
Так, как написан, он работает как надо. Но если его оформить в функцию, то добавленный элемент появляется и тут же пропадает. Будто страница загружается заново. Почему? Функция как-то влияет? Код такой:
<body>
<div>
  ...
</div>
<script>
function f() {
  var parentElem = document.body.children[0];
  var newDiv = document.createElement('div');
  newDiv.innerHTML = 'Привет, мир!';
parentElem.insertBefore(newDiv, parentElem.firstChild);
}
</script>
<a href="" onclick="f()">Нажать</a>
</body>