Puoi inserlo dinamicamente, ma il codice della funzione che lo inserisce rimane comunque visibile.
Nell'esempio creo un div contente dell'html e lo appendo al body dopo che il documento (vuoto) viene caricato.
codice:
<html>
  <head>
    <script type="text/javascript">
      function inserisciDiv() {
        newDiv = document.createElement("div");
        newDiv.innerHTML = "<h1>Prova prova</h1><h2>prova</h2>";
        document.body.appendChild(newDiv);
      }
    </script>
  </head>
  <body onload="inserisciDiv()">
  </body>
</html>