Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/04/2019, 13:19
srwik
 
Fecha de Ingreso: enero-2010
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Intentando entender un append (JSON)

Cita:
Iniciado por Panino5001 Ver Mensaje
1. Lo que se crea ahí es una referencia a un div que ya está añadido al documento. No es "una variable para modificar un div" sino punto de memoria que apunta al div en sí mismo.
2. Mismo error de concepto: no hablamos de variable sino de referencia al elemento párrafo.
Para ser más claro, no es texto sino objeto html. La única diferencia con el html normal es que aún no se añade al documento (al DOM, más precisamente).
3. No se concatena nada porque no es un texto que se pega junto a otro texto. Al elemento párrafo creado en cada iteración del bucle se le define el contenido, es decir, se le añade un nodo de texto que contiene los datos del JSON que se está recorriendo con el for in (título y año).
4. No se concatena: una vez que le pusimos contenido al párrafo, lo agregamos (lo insertamos como nodo html) al documento, pero dentro del elemento div al que hicimos referencia en el punto 1.

Básicamente, creo que estás confundiendo append, que es como appendChild, es decir, un método para agregar nodos html, con innerHTML, que es un método que sí agrega html a partir de un texto con formato html.
Mil gracias por tu tiempo y explicación.

Entiendo ahora mucho mejor la estructura y me quedo con una pequeña duda.

En el punto 4 cuando le hacemos el append a caja_monedas con p, al haberse definido anteriormente a p los datos del JSON con otro append ¿Este los guarda ya a partir de ahí?

Es decir, la referencia p a partir de ese punto ya no es solo "document.createElement("p")", sino que ahora contiene el JSON y al añadirla a caja_monedas también trae el append anterior.

Sería como una bola de nieve que ha ido recogido elementos por el camino.

Si es así me quedó clarísimo

Muchas gracias de nuevo