====== Performance ====== ===== append() dans une boucle ===== Comparaison de 2 codes et résultat $.each(sites,function(key, value) { if( (type_station!='' && value.label_type==type_station) || type_station==''){ if(groupBy != value.id.substr(0,4)){ if(groupBy != null) $select.append(''); $select.append(''); } groupBy = value.id.substr(0,4); var selected = selected_sites.indexOf(value.id) > -1 ? ' selected' : ''; $select.append(''); } }); var output = ''; $.each(sites,function(key, value) { if( (type_station!='' && value.label_type==type_station) || type_station==''){ if(groupBy != value.id.substr(0,4)){ if(groupBy != null) output += ''; output += ''; } groupBy = value.id.substr(0,4); var selected = selected_sites.indexOf(value.id) > -1 ? ' selected' : ''; output += ''; } }); $select.append(output); {{ :devweb:jquery:selection_050.png |}} En stockant le contenu HTML dans une variable puis en utilisant append une fois uniquement à la fin, on obtient un temps d'exécution de 22,67ms au lieu de 1,59s !