There is probably a better way, but this should work.
var loops = [1,2,3]; $.each(loops, function(index, val) { $('tr').html('<td id="myCell' + index + '"></td>'); });
This should also work (regular JS):
var i; for(i=0; i<3; i++) { $('tr').html('<td id="myCell' + i + '"></td>'); }
Notice how I prefix the id with the word "myCell" to ensure XHTML compliance. (thanks @Peter Ajtai for pointing this out).
EDIT
I just noticed another problem: you are using the .html function to add cells. But .html replaces the entire html of the associated element. This way you will always end up with the last cell. :)
You are probably looking for the .append function:
$('tr').append('<td id="myCell' + i + '"></td>');
EDIT 2 - moved the double quote before myCell, not after.
source share