I tried something: If I pass to initUI this, and using it as bellow:
jQ.fn.table.initUI = function(obj){ if(Initialized){ //return; } Options.cols = Object.size(Titles); c = 0; //set scc if needed if(Options.cssClass != "" || Options.cssClass != null){ jQ(obj).addClass(Options.cssClass); } //deal with the thead if(Options.thead == true){ //need to wrap first row with thead } //fill in the thead var tHead = jQ("<thead></thead>"); var tr = jQ("<tr></tr>"); jQ.each(Titles, function(i, val){ jQ("<td></td>").attr({ id: i }).text(val).appendTo(tr); }); tHead.append(tr).prependTo(obj); //Options.rows++; } Works perfect. I have no explanation to that.