2009-06-30 7 views
0

Je construis une application où je me retrouve avec une assez longue liste d'éléments répétés qui doivent être configurés en fonction de certains objets que je reçois via AJAX. Je pense à créer un de ces éléments en HTML et à le laisser caché sur la page puis à cloner cet élément et à utiliser jQuery pour le modifier en fonction de l'objet que je récupère (ie définir son texte, href etc ... Du point de vue des performances, cela serait-il plus rapide ou plus lent que la génération dom plus traditionnelle (où je créerais l'élément entier en javascript plutôt que de commencer par un élément cloné)?l'efficacité du clonage des nœuds dom

Répondre

1

Je ne l'ai pas fait dans un certain temps, mais la dernière fois que je l'ai fait, en utilisant une chaîne qui est un modèle pour votre fragment HTML, par exemple,

var myVar = '<option [email protected]@>@[email protected]</option>'; 

faire alors un gage de remplacer pour le remplir avec des données, et finalement en utilisant someElement.innerHTML = myVar, était au moins un ordre de grandeur plus rapide que de le faire par le biais de techniques de manipulation DOM plus standard.

+0

Merci OrbMan qui est utile, mais pas exactement ce que je veux dire. Je pense à servir le html sur la page avec un affichage none puis à le cloner via la méthode clone de jquery puis en utilisant jquery pour mettre à jour divers attributs. Toute idée sur la façon dont cela compare la performance sage de construire les éléments dom à partir de zéro en JavaScript? –

Questions connexes