14-09-2008, 10:00 PM
(Modification du message : 14-09-2008, 10:11 PM par Sephi-Chan.)
J'espère que je vais être à peu près clair ^^
Je développe avec Ajax, et, de fait, je me retrouve à devoir faire souvent des mises à jour du DOM.
ces mises à jour concernent le plus souvent un élément d'une liste avec image :
Je développe avec Ajax, et, de fait, je me retrouve à devoir faire souvent des mises à jour du DOM.
ces mises à jour concernent le plus souvent un élément d'une liste avec image :
Code PHP :
<?php
<ul id="cible">
<li id='idAManipuler><a href=...><img src=..../></a></li>
...
...
</ul>
la cible du traitement ajax est le li
sur cette cible je peux faire :
- la suppression du li (sauf que ce n'est pas une vraie suppression, le li n'est plus fils du ul mais il existe quelque part... dans les limbes)
- la modification de ses "fils" (le contenu du href, de la source de l'image...)
- la création d'un li du même genre
grosso modo, en algo ça donne
mon ordre ajax renvoie une nouvelle liste des li à afficher dans l'ul cible
une fonction javascript traite l'ul cible :
1) suppression de tous les li de l'ul cible(ces li partent dans les limbes)
2) parcours de la nouvelle liste
si l'id existe (donc dans les limbes) je le pose en fils de l'ul
si l'id n'existe pas ( getElementById ne renvoie rien), je le crée puis ses fils (le A et le IMG)
3) éventuellement modification du herf de la source si différence il y a
donc tout ça c'est merveilleux ça marche... mais je me demandais, est ce que le mieux n'est pas de faire un bête innerHtml du ul et basta, sans me prendre la tête et le processeur client à tout tester dans tous les sens...
Y a peut être une autre solution, mais je ne vois pas trop...
Avez vous une idée ?