Autor Tema: JavaScript. Condicional ternario getElementsByTagName devuelve un array CU01152E  (Leído 1947 veces)

JuansT

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 44
    • Ver Perfil
Respuestas al ejercicio CU01152E del tutorial de programación básica en internet con JavaScript.

a) ¿Qué significa el operador += que se emplea en el código?

el operador += es una doble operación y lo que hace es sumar la variable a operar con la variable destino y la guarda en la variable destino, son equivalentes:
variableDestino = variableDestino + variableOperar;
variableDestino += variableOperar;


b) ¿Por qué usamos [ 0 ] para establecer nodoBody?

Por que getElementsByTagName devuelve un array y al poner [ 0 ] le estamos diciendo que de ese array que nos devuelve sólo quedarnos con el de la posición 0, son equivalentes:
nodoBody = document.getElementsByTagName('body')[0];
nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;

con

nodoBody = document.getElementsByTagName('body');
nodoBody[0].innerHTML = nodoBody.innerHTML[0] + htmlADevolver;

y aprovechando la pregunta anterior, también es equivalente:

nodoBody = document.getElementsByTagName('body');
nodoBody[0].innerHTML += htmlADevolver;


c) ¿Qué ocurre si dejamos en blanco la respuesta cuando se pide un color? Razona por qué ocurre esto.

se crea una etiqueta h1: "<h1>No eligió color</h1>"
esto ocurre por que tenemos el condicional ternario donde si la variable "colorUsuario"
está vacía entonces la variable htmlADevolver guarda la etiqueta h1 mencionada antes.


d) ¿Qué ocurre si escribimos pink cuando nos pide el color? Razona por qué ocurre esto.

Esto ocurre por que usamos la variable colorUsuario como valor del parametro "background-color" en la etiqueta h1, y como "pink" es una palabra reconocida por css pinta h1 de color rosa.

e) Modifica el código para que usando el operador ternario, si el usuario no introduce como color red, yellow o blue aparezca el mensaje ‘No eligió color o el color es no válido’

Código: [Seleccionar]
<!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');
htmlADevolver += colorUsuario=="red" || colorUsuario=="yellow" || colorUsuario=="blue" ? '<h1 style="background-color:'+colorUsuario+
';"> Usted eligió '+colorUsuario+'</h1>' : alert("no eligió color o el color no es válido");
var nodoBody = document.getElementsByTagName('body');
nodoBody[0].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>

f) Reescribe el código inicial de partida sustituyendo el condicional ternario por if tradicionales.

Código: [Seleccionar]
<!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){
htmlADevolver += '<h1 style="background-color:'+colorUsuario+
';"> Usted eligió '+colorUsuario+'</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>
« Última modificación: 09 de Abril 2017, 21:20 por Ogramar »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:JavaScript. Condicional ternario. CU01152E
« Respuesta #1 en: 10 de Febrero 2017, 16:15 »
Buenas JuansT.

Todo bien.

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".