document.write vs. document.createElement
Sziasztok, valaki le tudná írni, hogy miért lenne érdemes a második verziót használni? Tényleg elegánsabb az a verzió, de sokkal hosszabb, átláthatóbbnak sem átláthatóbb, így egyelőre nem látom, hogy miért?
De mivel igyekszem nyitott lenni az új technológiák iránt, megkérdezem, hogy miért jobb az a módszer?
■ De mivel igyekszem nyitott lenni az új technológiák iránt, megkérdezem, hogy miért jobb az a módszer?
XHTML, DOM, beszúrás
Az, hogy mi átláthatóbb az izlés kérdése. Egy document.createElementtel létrehozott objektumot elegánsan lehet tovább kezelni utána további JavaScript és DOM függvényekkel.
Pl ki kell tenni egy figyelmeztető szöveget egyszer piros, egyszer sárga színnel. Ha document.write-tal csinálod akkor string összefűzéssel kell bohockodni, ami azért nem mindig könnyen átlátható meg vacakolni kell pl az aposztrof, idézőjelekkel, vagy levédéssel.
DOM függvényekkel: létrehozod szöveget, létrehozod elemet, megadsz neki egy osztályt, végül befűzöd a dokumentumba.
Document.writtal nem tudsz a dokumentumon belül bárhová beszúrni dolgokat. Amíg töltődik le az oldal addig elmegy, de amikor már kész akkor akkor maximum innerHTML marad.
Ami a document.write illetve innerHTML mellett szól, hogy egyelőre jóval gyorsabban csinálják meg a böngészők. Persze csak akkor van értelme erről beszélni, ha nagyszámú elemet kell létrehozni (mondjuk 100-as nagyságrend).
Köszi,
Ugye azért a nem alkalmazható kifejezést úgy kell érteni, hogy nem illik alkalmazni? Csak azért, mert jelenleg én alkalmazom, és pont azért gondoltam, hogy váltok, mert mégiscsak... :)
Nem lehet
Úgy kell érteni, hogy ha real XHTML-ben használod (nem text/html-ként kiszolgált XHTML "bohóckodással") akkor a böngészők nem fogják végrehajtani.
Pl. application/xhtml+xml-ként kiszolgált XHTML 1.0 Strict teszteredmény:
- Opera 8.51 figyelmen kívül hagyja document.write-ot
- Firefox 1.07 figyelmen kívül hagyja
- Konqueror 3.4.3 végrehajtja
- IE meg se tudja jeleníteni az ilyen XHTML-t