Bonjour,
J'essaie de modifier le contenu d un div en mettant le contenu dans un tableau,
puis à partir de ce tableau j'effectue la réécrire du contenu ce ce div.
L'objectif est le suivant :
contenu du DIV au depart
contenu modifié :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <div id='newslist' > <img src="./img/01.jpg" class="cexpand"/> <img src="./img/02.jpg" class="cexpand"/> <img src="./img/03.jpg" class="cexpand"/> </div>
En fait je prend "img 03" (derniere de la liste d origine) pour placer une copie un tête de tableau et "img 01" (premiere de la liste d origine) pour placer une copie en fin de tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div id='newslist' > <img src="./img/03.jpg" class="cexpand"/> <img src="./img/01.jpg" class="cexpand"/> <img src="./img/02.jpg" class="cexpand"/> <img src="./img/03.jpg" class="cexpand"/> <img src="./img/01.jpg" class="cexpand"/> </div>
Jusque là aucun problème.
Mais lorsque je veux réécrire le contenu du DIV, je n'ai plus le code définissant les images mais ça (sous firebug):
Du coup je n'ai plus rien dans mon DIV à l'affichage...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <div id='newslist' > [object HTMLImageElement][object HTMLImageElement][object HTMLImageElement][object HTMLImageElement][object HTMLImageElement] </div>
Apparemment l'idée de passer par un tableau pour la réécrire n'est pas bonne
Pour réécrire mon div je fais ceci :
la fonction permettant de generer le tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var t=document.getElementById("newslist"); t.innerHTML=""; for(var a=0;a<tabImg.length;a++){ t.innerHTML += tabImg[a]; }
Pourriez vous m'expliquer comment faire ?
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 function getElements(tag,attr,reg){ //fonction from SpaceFrog (thanks!!) var tabReg=new Array(); var tabElts=document.body.getElementsByTagName(tag); if(!(reg instanceof RegExp)){ if(reg.indexOf("*")>-1){ reg=reg.replace(/\*/g,'.+'); reg=new RegExp(reg); }else { return tabReg; } } i=0; while(tabElts[i]){ if(tabElts[i][attr]){ if(reg.test(tabElts[i][attr])){tabReg.push(tabElts[i]);} } reg.test(""); i++; } return tabReg; }
Merci









Répondre avec citation
Partager