Comme précisé par Spaffy, préciser que tu cherches une div n'a pas grand intérêt, pour les id car ils doivent être uniques, pour les classes parce que si ta page est bien structurée, il ne devrait pas être nécessaire de le préciser.
D'autre part, la syntaxe du sélecteur a une grande importance car elle va impacter la méthode de recherche en interne.
va utiliser la méthode getElementById() qui sera certainement la plus rapide dans tous les cas.
va utiliser getElementsByClassName() puis faire une boucle sur tous les éléments récupérés.
Si tu ajoutes div devant, il me semble que cela va forcer à utiliser querySelectorAll() (si possible) + une boucle voire des méthodes plus rustiques, ce sera donc probablement moins performant.
Bref, si tu connais au départ le nombre d'éléments, il vaut mieux passer par
1 2 3
| $("#a").draggable({ ... });
$("#b").draggable({ ... });
$("#c").draggable({ ... }); |
puisque tu utilises la méthode la plus performante et que tu t'évites une boucle.
Ceci dit, sur des pages pas trop lourdes, la différence de perfs devrait être assez peu significative et
$(".window").draggable({ ... })
permettra une syntaxe plus concise.
Pour les tests, regardes du côté de jsPerf: JavaScript performance playground
Partager