Réecriture d'un div à partir d'un tableau
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
Code:
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> |
contenu modifié :
Code:
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> |
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.
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):
Code:
1 2 3 4
|
<div id='newslist' >
[object HTMLImageElement][object HTMLImageElement][object HTMLImageElement][object HTMLImageElement][object HTMLImageElement]
</div> |
Du coup je n'ai plus rien dans mon DIV à l'affichage...
Apparemment l'idée de passer par un tableau pour la réécrire n'est pas bonne:calim2:
Pour réécrire mon div je fais ceci :
Code:
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];
} |
la fonction permettant de generer le tableau
Code:
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;
} |
Pourriez vous m'expliquer comment faire ?
Merci