Jquery 动态创建的colgroup不工作

Jquery 动态创建的colgroup不工作,jquery,cross-browser,html-table,Jquery,Cross Browser,Html Table,我编写了一个jQuery插件,其中包括使用colgroup设置表列的宽度,并允许通过向左或向右拖动标题来调整其大小。我发布了一个精简版。它在Firefox(至少3.6)中运行良好,但在其他浏览器中失败,我不知道为什么 我注意到,当我直接在标记中创建一个带有colgroup的表时,宽度很好,但是当我稍后使用jQuery添加它们时,宽度就不好了。也许我没有将它们添加到应该添加的位置,或者可能我在不知不觉中依赖于不推荐的或特定于浏览器的行为,我不知道 通过更改每个列的宽度属性来调整标题的大小,以响应鼠

我编写了一个jQuery插件,其中包括使用
colgroup
设置表列的宽度,并允许通过向左或向右拖动标题来调整其大小。我发布了一个精简版。它在Firefox(至少3.6)中运行良好,但在其他浏览器中失败,我不知道为什么

我注意到,当我直接在标记中创建一个带有colgroup的表时,宽度很好,但是当我稍后使用jQuery添加它们时,宽度就不好了。也许我没有将它们添加到应该添加的位置,或者可能我在不知不觉中依赖于不推荐的或特定于浏览器的行为,我不知道

通过更改每个
宽度
属性来调整标题的大小,以响应鼠标拖动。原则上,它工作正常,由于colgroup问题,它在其他浏览器中没有明显的效果(
console.log
显示事件被正确触发)

对此问题的任何帮助都将不胜感激。关于如何在没有团队的情况下完成同样的事情的建议也很受欢迎!(请记住,标题大小调整应更改列中所有tds的宽度)

简化代码:

var colgroup = $('<colgroup/>');
table.find("td,th").each(function() {
    create_col($(this)).appendTo(colgroup);
});
colgroup.appendTo(table);

// Inside create_col:
var col = $('<col width="' + width + '"/>');
return col;

更新:显然,Firefox接受
colgroup
位于下方
tbody
,但其他浏览器要求它位于上方

// colgroup.appendTo(table);
colgroup.prependTo(table);

这是Chrome和Safari中固定的东西,但是Opera仍然不起作用,Opera。< /P> < P>如在更新中提到的, COLGROUT/CODE>必须在表中预处理<代码> TSBOS,对于大多数浏览器来说,要考虑它。

// colgroup.appendTo(table);
colgroup.prependTo(table);

编辑:对于无法选择的问题,在中找到了答案。

在哪些浏览器中它不工作?Chrome(17)、Opera(11)、Safari(4)。我在Windows XP中运行所有这些程序
// colgroup.appendTo(table);
colgroup.prependTo(table);