Permettez-moi de commencer par m'excuser de ne pas donner d'extrait de code. Le projet sur lequel je travaille est propriétaire et je crains de ne pouvoir montrer exactement sur quoi je travaille. Cependant, je ferai de mon mieux pour être descriptif.Accélération des fonctions jQuery empty() ou replaceWith() lors de la gestion de grands éléments DOM
Voici une ventilation de ce qui se passe dans ma demande:
- utilisateur clique sur un bouton
- Server récupère une liste d'images sous la forme d'un tableau de données
- Chaque ligne de la table contient 8 data-cellules qui à leur tour contiennent chacun un lien hypertexte
- chaque demande par l'utilisateur peut contenir jusqu'à 50 lignes (I peuvent modifier ce nombre si nécessaire)
- Cela signifie que la table contient plus de 800 éléments DOM individuels
- Mon analyse montre que
jQuery("#dataTable").empty()
etjQuery("#dataTable).replaceWith(tableCloneObject)
occupent 97% de mon temps de traitement global et prennent en moyenne 4 à 6 secondes pour terminer.
Je suis à la recherche d'un moyen d'accélérer ou l'autre des fonctions jQuery mentionnées ci-dessus lorsqu'ils traitent avec les éléments DOM massifs qui doivent être enlevés/remplacés. J'espère que mon explication aide.
Cela a fonctionné. Je vais faire plus de travail en ce qui concerne les possibles fuites de mémoire, mais cela a complètement accéléré les choses. Merci tout le monde! –
La première façon a fonctionné, pas la seconde, ce qui me donne encore un débordement de pile sur les grandes tables (50k lignes). – Nico