Hola Cabanota, la solución aportada hace lo que pedía el ejercicio.
Como cuestiones a tener en cuenta para mejorar:
Si te fijas tus funciones anidarElemento0 y anidarElemento son muy parecidas, casi repetidas. Como programadores tenemos que tratar de evitar la repetición. Esto hay que irlo adquiriendo como hábito para lograr cumplir con "las buenas prácticas de los buenos programadores". Si vemos repetición tenemos que preguntarnos, ¿cómo puedo evitarla?
En este caso podríamos hacerlo así (también de otras maneras):
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
<style type="text/css">
div{
border-style: solid;
text-align: center;
padding: 5 px;
width: 350px;
margin-bottom: 20px;
}
</style>
<script type="text/javascript">
var cont = 1;
var insertarElemento2;
function inicio () {
insertarElemento1 = document.getElementById("body");
insertarElemento2 = document.getElementById("divInicial");
}
function annadir_elemento (formaAdicion) {
var nodoHijo = document.createElement("div");
var textNodoHijo = document.createTextNode("Nodo creado " + cont);
nodoHijo.style.width = "150px";
nodoHijo.style.textAlign = "center";
nodoHijo.appendChild(textNodoHijo);
if (formaAdicion=='al_final') {insertarElemento1.appendChild(nodoHijo);}
if (formaAdicion=='anidar') {insertarElemento2.appendChild(nodoHijo);}
cont++;
}
</script>
</head>
<body id="body">
<div id="divInicial">Curso JavaScript aprenderaprogramar.com</div>
<input type="button" value="Añadir al final" onclick="annadir_elemento('al_final')"/>
<input type="button" value="Anidar" id="btnAnidar" onclick="annadir_elemento('anidar')" />
<script type="text/javascript">
inicio();
</script>
</body>
</html>
Saludos