I have a table that looks a lot like jqGrid table. So my thead has two rows. First row has a Title that colspan's number of items in the second row of the thead. So the second row in thead contains the actual column names.
I tried changing the line: var thead_tr_first = $('thead tr:first',tb); to var thead_tr_first = $('thead tr:first',tb).next(); just as a test and that sort of worked. (By sort of, I mean it don't align the inner table quite right.)
My suggestion is to allow an option to be passed through during initialization that will define which row in the head is the actual row that contains the column names. Fallback would be first row as it currently asumes.
Nice work btw.
-Alen