Je hebt de vraag getagd met jQuery, dus ik vraag me af waarom je de bibliotheek niet gebruikt om je inhoud te bouwen:
var content = [];
for (var i = 0; i < data.routesout.length; ++i) {
content.push($('', { 'for': 'route' + i, text: data.routesout[i].name }));
content.push($('<input/>', { change: yourEventHandler, type: 'text', name: 'route' + i, id: 'route' + i, value: date.routesout[i].percent, change: yourEventHandler }));
}
Door het op die manier te doen, kunt u de handler per element binden tijdens het samenstellen ervan. (Ik heb 'wijzigen' als voorbeeld gebruikt, maar je kunt handlers voor elke gewenste gebeurtenis op dezelfde manier binden.)
Aan het einde kunt u alle gemaakte elementen toevoegen zoals u wilt, of u kunt ze toevoegen terwijl u werkt in plaats van een array te maken.