[ MilosDj @ 27.08.2010. 17:24 ] @
Za sada znam za ova tri nacina:
a.
Code:
html: <div id="upisiOvde"></div>

js: function upisi() {document.getElementById('upisiOvde').innerHTML = "html kod koji hoces";}
b.
Code:
html: <body></body>

js: str+= "<div>...";str+="<p>...</p>"; ...
document.write(str); ili document.body.innerHTML=str;
c.
Code:
html: <body></body>

js: document.body.appendChild();

1. Da li ima jos koji lep i koristan nacin stavljanja html tagova u body?

2. Sta izabrati izmedju b i c i zasto?

3. Brisanje <body> taga radim ovako: document.body.innerHTML="";
Nasao sam preporuku za ovaj nacin na mozlinom sajtu:
while (document.body.firstChild){document.body.removeChild(document.body.firstChild);}
U cemu je razlika? S tim sto mislim da je prvi mnogo brzi.

4. Ako uradim removeChild() (npr neki div) on ce automatski nestati s ekrana i tako na svim browserima? Ne treba mi neki dodatni refresh?

4. Koji je redosled inicijalizacije js?
Kapiram da se ucitava i izvrsava top-down. Ali sam kasno naucio da DOM nije odmah dostupan i da moram da gledam onDOMContentLoaded event.
Ako koristim window.onload=function(){...} // init Da li sam siguran da se sve ucitalo i da mi je sve na raspolaganju? Tipa ne moram dodatno da proveravam onDOMContentLoaded?

5. Da li je bolje staviti na pocetak skripte inicijalizaciju globalnih vars, ucitavanje lokalnih fajlova, loadXMLfile itd... Ili sve to treba za svaki slucaj staviti u window.onload=function(){...}?
Meni radi i jedno i drugo, ali bolje da pitam sta je korektnije i sigurnije.




[ Miroslav Ćurčić @ 27.08.2010. 23:54 ] @
1. mislim da su to svi

2. document.write(str); ce raditi samo pri ucitavanju stranice, ne mozes ga upotrebiti kasnije u recimo onclick metodi, (c) je object-firendly nacin dok se (b) za nijansu brze izvrsi, ako sav ostali kod pises koristeci DOM drzi se (c)

3. ista stvar, ne-objektni pristup i objektni

4. da

4. da, window.onload se dogodi nakon ucitavanja svega, svih CSSova i slika, a to je uvek mnogo kasnije od onDOMContentLoaded

5. ako nisu kriticne onda stavi u onload, dobar kandidat za to je postavljanje onclick handlera jer to posetilac ne vidi, a stvari koje vizuelno menjaju sadrzaj stavi odmah da se izvrse
[ MilosDj @ 28.08.2010. 00:28 ] @
Hahaha, tek sad vidim da je bilo 6 pitanja Dva puta sam ponovio 4

Hvala mnogo za odgovore!

Dodatna pitanja:

1. Jedinu razliku koju sam ja video izmedju Node i DocumentFragment objekta je sto je Fragment kao lopata. Tj. nosi nesto ali se ne ugradjuje nigde
Ovo pitam jer mi je zgodnije da u node <Knjiga> uguram <list>x200 i tako setam knjigu. Umesto da stavljam 200x <list> u Fragment i kasnije taj fragment appendujem u <Knjiga>.
Nema nekih kazni sto koristim obican Node kao lopatu?


2. Znaci da sam dobro uradio prvi put sto sam sve inicijalizovao van window.onload?
Mogu da koristim pocetak js fajla za inicijalizovanje vars itd? Kao sto stavljam include u PHP ili C?
Onda ide banalno pitanje: gde staviti loadXml? Na pocetak ili ga ugurati u onload? Ili to nema nikakve veze?