Salut,

Ca fait un petit moment que mon �il est attir� par des commentaires conseillant � certains de ne pas utiliser document.write() ou innerHTML...

J'ai demand� ce qui motivait ce genre de conseil, mais je n'en sais pas plus pour le moment.
Alors je cherche encore, car pour ce que j'en sais : Cette m�thode et cette propri�t� fonctionnent tr�s bien, et rien ne justifie un tel rejet.

A ce jour, la seule chose qui semble corroborer ce d�sire de ne "plus" les utiliser semble venir d'ici : Avoid document.write() and innerHTML().

O� un mauvais exemple (Si mauvais que �a ne fonctionnera pas) est donn�, avec paragraphe et liste invalides :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
function fillContent() {
	document.write("<h1>Welcome to my site</h1>");
	document.write("<p>Lorem ipsum dolor sit amet");
	document.menu.innerHTML = "<ul><li><a href="foo.html">foo</a>";
}
Puis il est sugg�r� d'utiliser le code ci-dessous pour produire (?!?) le m�me r�sultat, tout en �tant valide
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function fillContent() {
	// parentelem is a specified element in the DOM
	var header = document.createElement("h1");
	header.insertText("Welcome to my site");
	var para = document.createElement("p");
	para.insertText("Lorem ipsum dolor sit amet");
	var list = document.createElement("ul");
	itemone = document.createElement("li");
	itemonelink = document.createElement("a");
	itemonelink.setAttribute("href","foo.html");
	itemonelink.insertText("foo");
	list.appendChild(itemone);
	parentelem.appendChild(header);
	parentelem.appendChild(para);
	parentelem.appendChild(list);
}
Bref ! Soyons clair dans ce genre de recommandations :
l'utilisation de document.write() et innerHTML doit �tre soumis � la condition de bien former son document.
C'est � dire qu'il soit valid� par DOM.


N.B. : Si vous �tes convaincu que la pr�conisation donn�e fait exactement la m�me chose que le mauvais exemple donn� par le W3C, je pense que m�me l'utilisation de DOM ne viendra pas � votre secours

Alors, est-ce la seule motivation pour inciter � ne pas utiliser document.write() et innerHTML ?
Si c'est la seule, il n'y a vraiment pas de quoi torpiller cette m�thode et cette propri�t�. Sinon, autant ne pas conseiller d'�crire de page HTML et de tout faire par DOM.