getElementById o document.write?

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho notato nel mio codice che se metto uno o l'altro funziona lo stesso e inoltre ad entrambi posso applicare il css, perciò che cambia?

PHP:
...
document.write(' ' + giorno + ' ' + nameMth[mese] + ' ' + anno + ' ');

<script type="text/javascript">data();</script>

...
document.getElementById('data').innerHTML = giorno + ' ' + nameMth[mese] + ' ' + anno;

<span id="data"></span>
 
Ultima modifica:
Ciao cerco di risponderti subito almeno per la mia piccola esperienza.
prendiamo il caso che te debba inserire il valore che scrivi in un punto di una tabella o in un altro elemento, se non usi il valore DOM, cioè il document.getElementById con il suo id non ci riuscirai mai... ti posto l'esempio di cui ti parlo , ammettiamo che un array di frasi da incorporare in una tabella :

HTML:
var frasi = new Array();
frasi[0]= "Il sorriso: una curva che puo' raddrizzare un sacco di cose.";
frasi[1]= "Le decisioni sono un modo per definire se stessi. </br> Sono il modo per dare vita e significato ai sogni. </br> Sono il modo per farci diventare cio' che vogliamo";
frasi[2]= "Gli uomini passano, le idee restano. <br> Restano le loro tensioni morali e continueranno <br> a camminare sulle gambe di altri uomini";           
frasi[3]= "Fatti non foste a viver come bruti, </br> ma per seguir virtute e canoscenza.";
-----------------------

e poi il codice :


    function inserire() { 
var oggi=new Date();
var giorno=oggi.getDate();
var mese=oggi.getMonth()
totale=(mese+1+"."+giorno)
 
              document.getElementById("citazione").innerHTML = frasi[totale];
    
                   } 
      
              setInterval('inserire()',3000);

e poi ha la tabella :

HTML:
<table class="tabellafrasi"
 style="width: 95%; text-align: left; margin-left: auto; margin-right: auto;"
 border="1" cellpadding="3" cellspacing="2" size="+3">
  
    <tr>
       <td>
 style="text-align: center; vertical-align: middle; width:100%; height: 150px;>
<B><i><p id="citazione"></p></i></B>
</td>
    </tr>

Come vedi ho riportato in quella ben precisa cella il valore id = citazione,
con il document.write beh non credo che tu ci riesca.
Spero di essere stato chiaro. Ciao
 
Potevi anche usare document.write, e poi richiamavi la funzione nel body

HTML:
<script type="text/javascript">inserire();</script>

Questa parte però non so se la puoi far funzionare

}

setInterval('inserire()',3000);
 
Ultima modifica:
Allora per il setInterval posso sempre sostituirlo con setTimeout all'interno della funzione :)

Certo puoi richiamarla come hai fatto te, ma pensa ad una funzione che dentro ha due elementi da dover scrivere in due posti differenti ?... lo so ci metti /e specifichi ma non sempre si può fare e quindi ecco l'utilizzo degli elementi DOM, poi preciso non sono un esperto ma solo un neofita che sta imparando sulla propria pelle le varie opzioni e quale scegliere ogni volta e quindi ti ho solo detto la mia di esperienza, senza nessuna presunzione :) Ci mancherebbe..... ^_*
 

Discussioni simili