Visualizzazione dei risultati da 1 a 8 su 8

Discussione: appendChild ricorsivo?

  1. #1

    appendChild ricorsivo?

    Dopo aver letto le guide (da voi consigliate) sul DOM, mi chiedo se possa esistere un metodo per appendere più Child ad un elemento padre, magari attraverso un ciclo.

    Ho notato infatti che se appendo un Child la prima volta va tutto bene, ma se lo eseguo N volte questo viene continuamente sovrascritto, come credo sia giusto che sia.

    Insomma, vorrei creare tanti nodi "fratelli" sotto lo stesso padre ma non riesco...

  2. #2
    Hai il padre è i fratelli...adesso ti serve la madre
    http://www.anobii.com/isalreadyinuse

  3. #3
    eheheh scherzi... non sto dormendo per questa cosa

  4. #4
    eheheh scherzi... non sto dormendo per questa cosa
    Ricorda che si diventa ciechi...

    Posta un po di codice che stai provando....
    http://www.anobii.com/isalreadyinuse

  5. #5


    Il mio codice è di una banalità disarmante:
    codice:
    function creaInput() {
    	//creo l'elemento <input>
    	input = document.createElement("input"); 
    
    	//attacco dentro l'elemento "form foto" il child creato prima
    	document.getElementById("form foto").appendChild(input);
    }
    Così questa funzione mi crea un <input> in un ipotetico <form>

    Nella mia ignoranza vorrei arrivare a questo:

    codice:
    function creaInput() {
    	//creo l'elemento <input>
    	input = document.createElement("input"); 
            for (i = 0;i < 20;i ++)
    	       //attacco dentro l'elemento "form foto" il child creato prima
    	       document.getElementById("form foto").appendChild(input);
    }

    Mi aspetto 20 <input>, ma in realtà rimane solo uno, perchè sovrascritto...
    Ma poi c'è un metodo per vedere il codice prodotto da un javascript?

  6. #6
    Prova
    codice:
    function creaInput() {
    	//creo l'elemento <input>
    	
            for (i = 0;i < 20;i ++){
    	       //attacco dentro l'elemento "form foto" il child creato prima
                    input = document.createElement("input"); 
    	       document.getElementById("form foto").appendChild(input);
           }
    }
    http://www.anobii.com/isalreadyinuse

  7. #7
    funziona!

    Quindi ogni volta l'elemento deve essere creato prima di essere appeso.

    Grazie mille, sei stato gentilissimo

  8. #8
    Un modo più conveniente ( in termini di prestazioni ) per farlo è questo:
    codice:
    function creaInput() {
        var form = document.getElementById("form foto"),
              parent = form.parentNode,
              input = document.createElement("input");
        parent.removeChild(form);
        for (i = 0; i < 20; i++) 
           form.appendChild(input.cloneNode());
        parent.appendChild(form);
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.