Hola!
a) Bien
b) Copio un comentario de otro ejercicio
getElementsByTagName('body') devuelve un array con todos los nodos cuya etiqueta se llame body. Como solo hay una etiqueta, en un array el primer elemento es el 0 por eso se utiliza [ 0 ].
c) var htmlADevolver = ''; lo que hace es inicializar la variable htmlADevolver a una cadena vacía.
Si no escribimos nada cuando se pide un color la variable colorUsuario queda vacía, y al ser evaluada en el if se evalúa como false por estar vacía.
d) Bien
En el código del apartado f) tienes mal planteada parte del código
if (htmlADevolver += colorUsuario) no es una forma válida de expresar una condición.
Además si escribes los if tradicionales tienes que eliminar el if ternario porque si no tienes dos veces la misma evaluación
La idea sería: comprobar si el usuario introdujo un color, esto se haría escribiendo if (colorUsuario) {
Si el usuario introdujo un color, verificamos que haya introducido el color correcto, o si no es un color correcto creamos el mensaje avisando de que el color no es correcto.
El código modificado sería este:
<!DOCTYPE html>
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function ejemplo() {
var htmlADevolver = '';
var colorUsuario = prompt('Elija color red, yellow o blue');
if (colorUsuario) {
if (colorUsuario== 'yellow') {
htmlADevolver += '<h1 style="background-color:'+colorUsuario+ ';"> Usted eligió '+colorUsuario+'</h1>';
}
else if (colorUsuario=='red') {
htmlADevolver += '<h1 style="background-color:'+colorUsuario+';"> Usted eligió '+colorUsuario+'</h1>';
}
else if (colorUsuario=='blue') {
htmlADevolver += '<h1 style="background-color:'+colorUsuario+';"> Usted eligió '+colorUsuario+'</h1>';
}
else {htmlADevolver += '<h1>Color elegido no válido</h1>';}
}
else {htmlADevolver += '<h1>No eligió color</h1>'}
var nodoBody = document.getElementsByTagName('body')[0];
nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;
}
</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>
</body>
</html>
Saludos!