Autor
|
Tema: [Pregunta]: ¿Cómo evito esto al usar .prepend() en jQuery? (Leído 3,304 veces)
|
Leguim
Desconectado
Mensajes: 720
|
Cuando uso .prepend(); para agregar un fragmento de HTML lo que pasa es que me modifica las posiciones del elemento. Es decir: HTML <div id="elementos"></div>
javascript/JQUERY $('#elementos').prepend('<div class="elemento">ELEMENTO 1</div>'); // esperaría que esto tuviera la posición 0 $('#elementos').prepend('<div class="elemento">ELEMENTO 2</div>'); // esperaría que esto tuviera la posición 1 $('#elementos').prepend('<div class="elemento">ELEMENTO 3</div>'); // esperaría que esto tuviera la posición 2
Pero si accedo a los elementos ocurre que va desde el 0 hasta el 2 y no desde el 2 hasta el 0, entonces no hay manera de evitar que vaya agregando estas posiciones de menor a mayor y sí de mayor a menor? document.querySelectorAll('.elemento')[0].style.opacity = 0.5; // esperaría que modifique al ELEMENTO 1 pero modificará al ELEMENTO 3
|
|
|
En línea
|
|
|
|
engel lex
|
estás usando la función equivocada, prepend es "pre append" es decir insertar antes, esto lo que hace es que cada ver que insertas algo, lo inserta en la cabeza en lugar de la cola, ej.: lista = [] prepend(1) prepend(2) prepend(3)
lista -> [3,2,1] tu buscas es la función append que es simplemente "insertar" y por defecto inserta al final, ej.: lista = [] apend(1) apend(2) apend(3)
lista -> [1,2,3] me parece curioso que te hayas en programación dado primero con prepend que append, más bien usualmente la duda es "como uso append para agregar al inicio?"
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
MinusFour
|
Lo más sencillo sería que solo cambiarás el orden de las instrucciones pero puedes agregar todos los elementos en una sola instrucción: $('#elementos').prepend([ '<div class="elemento">ELEMENTO 1</div>', '<div class="elemento">ELEMENTO 2</div>', '<div class="elemento">ELEMENTO 3</div>' ]);
Si #elementos está vacio también puedes usar .append.
|
|
|
En línea
|
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Ya lo solucioné! xD (( necesitaba usar prepend y no append por un tema de como se ve visualmente, quiero que inicie arriba pero no quería que me "rompiera" las posiciones que estaba usando. Lo conseguí con esta formula por si las dudas a alguien le sirva: let Q = document.querySelectorAll('.elemento').length; let X = 1; // posición que se quiere usar X = Q - X - 1;
Gracias!
|
|
|
En línea
|
|
|
|
engel lex
|
claro tu problema es que querías que organize visualmente de una manera y en JS inversa, tambien pudiste invertirlo con una regla de css ya que el es quien se encarga de lo visual ejemplo display: flex;
/* según el caso */ /* 1: */ flex-direction: row-reverse;
/* 2: */ flex-direction: column-reverse;
|
|
« Última modificación: 20 Agosto 2021, 22:49 pm por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Leguim
Desconectado
Mensajes: 720
|
claro tu problema es que querías que organize visualmente de una manera y en JS inversa, tambien pudiste invertirlo con una regla de css ya que el es quien se encarga de lo visual ejemplo display: flex;
/* según el caso */ /* 1: */ flex-direction: row-reverse;
/* 2: */ flex-direction: column-reverse;
También esa es buena! No la conocía.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como evito SQL Inyection?
« 1 2 »
PHP
|
Skeletron
|
11
|
5,076
|
8 Diciembre 2009, 22:25 pm
por Skeletron
|
|
|
Uso de los HOIC/LOIC -Cómo evito que se me encuentre-
Redes
|
PseudoTrue
|
0
|
2,445
|
5 Julio 2012, 04:29 am
por PseudoTrue
|
|
|
[Ayuda] Usar 2 Jquery al mismo tiempo - Usar 2 veces jquery
Desarrollo Web
|
Graphixx
|
5
|
8,377
|
19 Diciembre 2012, 17:17 pm
por #!drvy
|
|
|
[Resuelto][javascript]¿Como hacer esto sin usar jquery?
Desarrollo Web
|
LaThortilla (Effort)
|
4
|
3,687
|
23 Abril 2015, 03:51 am
por LaThortilla (Effort)
|
|
|
[Pregunta]: ¿Se puede usar JQuery?
Desarrollo Web
|
Leguim
|
3
|
2,036
|
8 Enero 2019, 18:51 pm
por febef
|
|