|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
[jQuery] Inserire div dentro altro div
Ho questo banale problema in cui devo inserire dei div ( ciascsuno contenente altri elementi ) dentro un altro div.
La struttura HTML è la seguente: Codice:
<div class="fuori">Qui ci sono altri sotto-elementi</div> <div class="dentro">Qui ci sono altri sotto-elementi</div> <div class="dentro">Qui ci sono altri sotto-elementi</div> <div class="dentro">Qui ci sono altri sotto-elementi</div> . . . <div class="dentro">Qui ci sono altri sotto-elementi</div> <div class="fuori">Qui ci sono altri sotto-elementi</div> Ciò che voglio ottenere è il seguente: Codice:
<div class="fuori">Qui ci sono altri sotto-elementi <div class="dentro">Qui ci sono altri sotto-elementi</div> <div class="dentro">Qui ci sono altri sotto-elementi</div> <div class="dentro">Qui ci sono altri sotto-elementi</div> . . . <div class="dentro">Qui ci sono altri sotto-elementi</div> </div> Codice:
$("div.fuori").nextUntil("div.fuori").append($('div.dentro')); ![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
In questo caso serve .appendTo() :
<contenutoDaAppendere>.appendTo(<selettore>); Prova così: Codice:
$("div.fuori").nextUntil("div.fuori").appendTo($('div.fuori:first')); $($('div.fuori')[1]).remove() <selettore>.append(<contenutoDaAppendere>);
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R Ultima modifica di grigor91 : 30-07-2013 alle 17:04. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Non funziona. Così mi mette tutti i dentro nel primo fuori.
Io invece voglio che tutti i dentro successivi ad un fuori vengano messi dentro di esso finchè non si incontra un nuovo fuori. Tra l'altro non capisco perchè dovrei usare appendTo invece di append. Mi pare siano una l'opposto dell'altra ma dal punto di vista implementativo, in questo caso, penso si possano usare entrambi. Del tuo codice non capisco l'utilità del :first e il [1] . Da come interpreto io il tuo codice, dovrebbe prendere div.fuori e tutti gli elementi successivi fino al prossimo div.fuori e metterli dentro div.fuori. Poi rimuovere il secondo elemento di ogni div.fuori. ![]() EDIT: Risolto così Codice:
$('div.dentro').each(function(i){ $(this).prev().append($(this)); });
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
Ultima modifica di kwb : 30-07-2013 alle 17:44. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
Scusa non avevo capito che era una struttura iterata, pensavo ci fossero solo 2 div 'fuori' uno all'inizio e un alla fine.
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:59.