repetir X veces un appendChild()
Publicado por Carlos (2 intervenciones) el 01/03/2020 23:27:40
Buenas,
Escribiendo un programa he querido repetir varias veces dentro de un bucle un appendChild() pero solo lo ejecutaba una vez.
Buscando ejemplos y jugando con mil opciones, encontré que si se pone un innerHTML después, en la siguiente repetición sí funciona el appendChild() la cantidad de veces que se repite el bucle for.
¿Alguien podría por favor explicarme el por qué de este comportamiento?
Gracias
Aquí el código de ejemplo:
Escribiendo un programa he querido repetir varias veces dentro de un bucle un appendChild() pero solo lo ejecutaba una vez.
Buscando ejemplos y jugando con mil opciones, encontré que si se pone un innerHTML después, en la siguiente repetición sí funciona el appendChild() la cantidad de veces que se repite el bucle for.
¿Alguien podría por favor explicarme el por qué de este comportamiento?
Gracias
Aquí el código de ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<div id="resultado"></div>
<script >
class Billete
{
// atributos
constructor (valor, cantidad)
{
//this.imagen = new Image();
this.imagen = document.createElement('img');
this.valor = valor;
this.cantidad = cantidad;
this.imagen.src = "EUR_" + this.valor + ".jpg";
this.imagen.height = 80;
}
// metodos
mostrar()
{
return this.imagen;
}
}
var billete = new Billete(50,5);
var res = document.getElementById("resultado");
for(var i = 0; i < 3; i++){
var nuevoBillete = billete.mostrar();
res.appendChild(nuevoBillete);
res.innerHTML += " "; // <<<< porqué es necesario innerHTML para que se repita "la impresión" de los billetes??????
}
</script>
</body>
</html>
Valora esta pregunta


0