Avatar
GERMAN BAENA

@germanbaena67846

No... muy respetuosamente pero creo que esta clase es mejor que Alvaro Felípe la reconsidere; fue terrible la forma de abordarla.

Avatar
Marlon Velásquez

@sargentogato

Esta clase la vi creo dos o tres veces y al inicio pensé lo mismo, sólo que luego me di cuenta que lo que está haciendo es utilizando todo lo que se había visto antes. Si, se podría hacer de otra manera, aunque para mi fue un repaso de todo lo visto anterior. Se puede hacer de otra manera con menos código.

Cuando vez el ejercicio de introducir una imagen en medio de varios párrafos, esto te ayuda.

Avatar
GERMAN BAENA

@germanbaena67846

Gracias Marlon, si, lo que tu dices es verdad, fue un gran repaso; ciertamente hice el ejercicio de tres formas mucho pero mucho más sencillas, pero de igual manera después de un tiempo y de repasar como cinco veces el vídeo, lo entendí a cabalidad al gran estilo del Maestro!!! En fin, yo soy un principiante...

Avatar
alfred rodriguez garcia

@alfredrodriguezgarcia

noooooo ayer estaba pensando publicar lo mismo!!!!! me mataste..... jajajaja alvaro tiene q volver al codigo no es lo mismo sin el :P

Avatar
Richard Avendaño

@richardavendano

Ánimo a todos los que están adentrándose en este increíble mundo! Por cierto, cuales serian esas formas mas sencillas de hacer lo que AF hace en la clase? Podrían compartir su código y aprendemos juntos :)

Avatar
GERMAN BAENA

@germanbaena67846

Perfecto Marlon asi es, igual a la solución básica que yo también hice; simplemente estas soluciones obedecen a la SELECCIÓN MANUAL de los div's para aplicar insertBefore() y ver el resultado del ejercicio, puesto que cuando yo escribo que había hecho el ejercicio de tres formas mucho, pero mucho más sencillas, de ninguna manera me refería a soluciones de código más optimas, si no más bien soluciones caseras dignas de un principiante, nada comparadas con la ejecución de código del maestro AF, en el cual de manera automática genera código que busca y encuentra los div's a través de métodos óptimos desde el div abuelo o parent.

Avatar
Marlon Velásquez

@sargentogato

Hasta donde yo sé, seleccionar por id y luego aplicar algo, es a parte de la forma más rápida, algo que consume muy poca memoria del browser, por otro lado, son menos líneas de código, y para terminar, cualquier ciclo consume siempre más memoria, por todo ello, no creo que tus soluciones sean de andar por casa, sino más bien un camino más eficiente. :)

Yo el camino de AF lo veo como otra forma que él quería mostrar para practicar con todo lo que se había visto.

Avatar
GERMAN BAENA

@germanbaena67846

Marlon, discúlpame, no me refiero a seleccionar con id, lo cual es cierto lo que tu dices y lo hemos aprendido bien, me refiero a esto:

Cuando tu incluyes manualmente esta línea en tu código:

const parentGrandson = parent.children1

En el html de nuestro ejemplo corresponde a:

<div class="chid">Hijo 2
         <div class="grandson">Nieto 1</div>
         <div class="grandson">Nieto 2</div>
         <div class="grandson">Nieto 3</div>
</div>

¿Qué pasaría, si en cualquier otra parte de tu código, a parent se le agregara dinamicamente otro hijo? Y ese hijo quedara con index 0; entonces tu código const parentGrandson = parent.children1, ya no correspondería con ese Hijo 2, del cual quieres manipular los Nietos; tocaría manualmente modificarlo con el respectivo index para que corresponda nuevamente con el elemento que quieres seleccionar, o sea modificar manualmente el 1 por el 2

const parentGrandson = parent.children2

Y que pasaría si así como apareció dinamicamente un div dentro de parent y se insertó con index 0, desaparece y los index dentro de parent se reajustan nuevamente; que tu código vuelve y juega no funciona; o más bien funcionaría para el caso específico de que no se inserten dinamicamente elementos dentro de parent; porque de otra manera el código se quiebra.

En términos generales la solución propuesta por Álvaro Felipe no se quiebra tan fácilmente; en un caso normal, se pueden insertar dinamicamente en el html muchos div dentro de parent, al principio o al final y el método filter() siempre arrojará como resultado el div que contenga 'children.length > 0', que insisto, en un caso normal, seguiría correspondiendo a 'Hijo 2' y de la misma manera, dinamicamente se pueden insertar muchos div dentro de 'Hijo 2' y el método filter() a través de textContent, siempre localizará al 'Nieto 3'

De esto se trata, de crear código infalible para cualquier situación; por eso es que yo llamo método casero a realizar el ejercicio de ejemplo usando index o posiciones manualmente en el código para capturar elementos, eso solo sirve para realizar el ejercicio propuesto, más en una situación real no.

Sin embargo, recibo todas las críticas 'constructivas' que quieran hacer a mi comentario; estamos para aprender y servir en esta comunidad. Gracias.

Avatar
Marlon Velásquez

@sargentogato

Tienes toda la razón. Me lo voy a repasar, su solución insertaría el elemento siempre después del segundo hijo o nieto (dependiendo de cual haya elegido) y la mía si se introduce un nuevo elemento, la posición del índice cambiaría dependiendo de donde se introduzca ese nuevo elemento.

Mil gracias por la observación.

Avatar

Escribe una respuesta