I have the following script. I haven't shown it, but I later further manipulate the DOM. I get identical results on test 1 and test 2, but get different results using test 3. What is different with test 3? Please confirm that the impact of test 1 and test 2 is identical. If you feel test 3 must provide identical results, I will post my complete code to a fiddle to prove that it isn't.
var thead_cells=$('#myTable').children( 'thead' ).find('tr').eq(0).find('th'),
var shimRow=$('<tr />',{height:0,padding:0,margin:0});
for (var i = 0; i < thead_cells.length; i++) {
//test 1
shimRow
.append($('<td />',{height:0,outerWidth:thead_cells.eq(i).outerWidth(true)})
.css('padding',0)
.css('margin',0)
.html(''));
//test 2
shimRow
.append($('<td />',{height:0,outerWidth:thead_cells.eq(i).outerWidth(true), css:{padding:0, margin:0}})
.html(''));
//test 3
shimRow
.append($('<td />',{height:0,outerWidth:thead_cells.eq(i).outerWidth(true), padding:0, margin:0})
.html(''));
}