arnaultp
Messages postés29Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention25 juillet 2007
-
29 juin 2007 à 16:13
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
2 juil. 2007 à 09:35
Bonjour à tous!
Je n'arrive toujours pas très bien à comprendre ce que font document.body et document.write.
Cela fait seulement 2 semaines que je code du javascript. Et j'ai récupérér plusieurs scripts pour m'entraîner. Aussi, dans un, la fonction document.body.innerHTML est utilisée. Par la suite j'ai utilisé des document.getElementById (id ajouté par le document.body.innerHTML) pour rajouter du style.
Ensuite sur le second script, je vois document.write. Donc sans me pôser de questions j'utilise encore une fois des getElementById (id ajouté par document.write). Mais cette fois, il y a une erreur. Je décide donc de changer les document.write en document.body.innerHTML, mais rien à faire.
Un message d'erreur (sous IE6) m'indique que document.body est Null ou n'est pas un objet.
J'ai beau essayé tous les trucs possibles et imaginables, je n'obtiens que des erreurs.
Quelqu'un pourrait-il m'expliquer les différences d'utilisation entre les deux? afin d'entrevoir une solution peut-être... :/
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 29 juin 2007 à 16:32
une chose à savoir avec document.write :
si la page a été totalement interprétée, document.write efface cette page
y compris le javascript ( cas, par exemple, de document.write qu'on
appelle en cliquant sur un bouton )
après utiliser l'un ou l'autre, des arguments plaident pour l'un ou l'autre
et d'autres en leur défaveur...
on peut faire aussi autrement et "mieux" , plus "général"
( nécessaire même dans certains contextes )
>>m'indique que document.body est Nul
si tu as une balise et pas de raisons (?)
sans voir le script ... ( enfin, un extrait, tout ce qui est nécessaire
mais seulement ça ), je dirais bien que l'erreur est à la ligne 68,
mais je suis loin d'en être sûr... ;-)
yousfane
Messages postés243Date d'inscriptionvendredi 24 novembre 2006StatutMembreDernière intervention21 décembre 20072 30 juin 2007 à 00:11
Salut
Le document.write sèrt à écrire dans la page et il éface tout le code de cette page.
Le document.body.innerHTML ne peut changer que le code qui est après la balise body
Pour document.getElementById("id de l\'élement"), ça sert à modifier un seul élement dans la page (sa source html, son style, .....) ou de récuperer son style ou sa source ....
arnaultp
Messages postés29Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention25 juillet 2007 2 juil. 2007 à 09:24
J'ai finalement réussi à faire ce que je recherchais. Je ne sais pas trop comment justement. Peut-être que j'avais mal écrit qqch. Peut-être que je l'avais placé à un endroit qu'il n'aimait pas...mais bon maintenant ça fonctionne.
Et, ce que je ne comprenais pas à la base bultez, c'est justement que mon "document.body" était dit ayant la valeur Null alors que j'avais ma balise dans mon html.
En tous cas merci pour vos réponses à tous les deux.