Bonjour à tous,
Voilà, j'ai un souci quand je créé divers éléments DOM dans ma page sous IE.
Sous FF et IE7, aucun soucis.
Voici mon code Javascript:
Voici le flux XM renvoyé dans la variable docXML :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 var actu = docXML.getElementsByTagName('actualite'); //Parcours des actualités for(var i=0; i<actu.length; i++) { //Récupération du titre de l'actualité var titre = actu[i].getElementsByTagName('titre')[0].firstChild.nodeValue; //Récupération de la date de l'actualité var date = actu[i].getElementsByTagName('date')[0].firstChild.nodeValue; //Récupération du contenu de l'actualité var message = actu[i].getElementsByTagName('message')[0].firstChild.nodeValue; //Création d'un conteneur 'div' pour l'actualité var contentActu = document.createElement('div'); //Ajout de la classe 'actu' au conteneur 'div' créé Element.addClassName(contentActu, 'actu'); //Création d'un conteneur 'div' pour le titre de l'actualité var headerActu = document.createElement('div'); //Ajout du titre dans le conteneur 'div' créé headerActu.appendChild(document.createTextNode(titre)); //Ajout de la classe 'titreActu' au conteneur 'div' créé Element.addClassName(headerActu, 'titreActu'); //Ajout du conteneur 'div' du titre au conteneur 'div' de l'actualité contentActu.appendChild(headerActu); //Création d'un conteneur 'div' pour le message de l'actualité var corpsActu = document.createElement('div'); //Ajout du message au conteneur 'div' du message corpsActu.innerHTML = message; //Ajout du conteneur 'div' du message au conteneur 'div' de l'actualité contentActu.appendChild(corpsActu); //Création d'un conteneur 'div' pour la date de l'actualité var dateActu = document.createElement('div'); //Ajout de la date au conteneur 'div' de la date dateActu.appendChild(document.createTextNode(date)); //Ajout de la classe 'dateActu' au conteneur 'div' de la date Element.addClassName(dateActu, 'dateActu'); //Ajout du conteneur 'div' de la date au conteneur 'div' de l'actualité contentActu.appendChild(dateActu); //Ajout du conteneur 'div' de l'actualité à l'élément d'id 'actualites' $('actualites').appendChild(contentActu); }
Vous aurez compris que j'utilise la librairie Prototype.
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
17
18
19
20
21
22
23
24
25 <?xml version="1.0" encoding="utf-8" ?> <actualites> <actualite> <titre>Fête du 14 juillet</titre> <date>Samedi 14 Juillet 2008</date> <message><![CDATA[<em>Fête du 14 juillet avec jeux et soirée dansante</em>]]></message> </actualite> <actualite> <titre>Inauguration</titre> <date>Mardi 08 Juillet 2008</date> <message><![CDATA[<strong>Inauguration du site Internet de la commune de Gellainville</strong>]]></message> </actualite> <actualite> <titre>Bric-à-brac</titre> <date>Dimanche 08 Mai 2008</date> <message><![CDATA[<u>Bric-à-brac de Gellainville le terrain communal</u>]]></message> </actualite> <actualite> <titre>Bric-à-brac</titre> <date>Dimanche 08 Mai 2008</date> <message><![CDATA[<u>Bric-à-brac de Gellainville le terrain communal</u>]]></message> </actualite> </actualites>
L'erreur que me renvoie IE6 est 'contentActu' est indéfini.
Une petite idée de mon problème ??
Merci beaucoup
Partager