Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333

    Vorrei sostituire innerHTML con le funzioni del DOM

    Ciao a tutti
    Finora ho sempre usato innerHTML per sostiruire il contenuto di un elemento
    Vorrei però provare a sostituire innerHTML con le funzioni del DOM che non ho mai provato.
    Faccio un esempio di quello che faccio attualmente

    ho un <div id="contenitore"> e un link da inserirvi al volo
    quindi:
    var link='Testo del link';
    Var a=document.getElementById("contenitore");
    a.innerHTML=link;
    Tutto benissimo ma io vorrei provare a farlo con le funzioni del DOM
    Come va trasformato il mio codice per poterlo fare?
    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    var link = document.createElement('a');
    link.id = "myLink";
    link.title = "Click to me";
    link.href = "#";
    link.onclick = function(){MiaFunzione();return false;};
    var txt = document.createTextNode("Testo del link");
    link.appendChild(txt);
    document.getElementById("contenitore").appendChild(link);

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333
    Grazie

    Ho ampliato il tuo codice e funziona ma non riesco ad aggiungere nuove[*] con dentro nuovi link che nella realtà verrebbero messi in automatico con un loop for

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> 
    <style> 
    div {border:1px solid red} 
    ul {border:1px solid blue} 
    li {border:1px solid black} 
    </style> 
    </head> 
    <body> 
    <div id="contenitore"> 
    <script type="text/javascript"> 
    var cont= document.getElementById("contenitore"); 
    var lu = document.createElement('ul'); 
    var il = document.createElement('li'); 
    var link = document.createElement('a'); 
    link.id = "myLink"; 
    link.title = "Click to me"; 
    link.href = "#"; 
    link.onclick = function(){MiaFunzione();return false;}; 
    var txt = document.createTextNode("Testo del link"); 
    link.appendChild(txt); 
    cont.appendChild(lu); 
    lu.appendChild(il); 
    il.appendChild(link); 
    </script> 
    </body> 
    </html>

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    formatta il codice su più righe, altrimenti non si capisce nulla

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333
    Originariamente inviato da Vindav
    formatta il codice su più righe, altrimenti non si capisce nulla
    Si scusa non me n'ero accorto

    Fatto

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ma non riesco ad aggiungere nuove[*] con dentro nuovi link che nella realtà verrebbero messi in automatico con un loop for
    Qui è la stessa cosa, fai un ciclo for dove crei n link e n li e finito il ciclo appendi tutto al contenitore

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 © 2024 vBulletin Solutions, Inc. All rights reserved.