document.write() et innerHTML interdit ?
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. :roll:
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:
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:
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 :lol:
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.