Javascript 使两个表的列宽相同

Javascript 使两个表的列宽相同,javascript,jquery,asp.net,html-table,Javascript,Jquery,Asp.net,Html Table,我正在尝试实现一种表结构,在这种结构中,当我向下滚动时,标题保持不变。为此,我使用了两张桌子。第一个表具有标题值,第二个表具有相应的datalength,每个列中的数据可能会随着数据的动态填充而变化。问题是标题宽度和数据列宽度不完全匹配。 我已经编写了一些如下所示的代码来动态改变列宽 $('#tdCheckAllBody').width($('#tdCheckAllHead').width()); $('#tdLoginBody').width($('#tdLoginHead').width()

我正在尝试实现一种表结构,在这种结构中,当我向下滚动时,标题保持不变。为此,我使用了两张桌子。第一个表具有标题值,第二个表具有相应的datalength,每个列中的数据可能会随着数据的动态填充而变化。问题是标题宽度和数据列宽度不完全匹配。 我已经编写了一些如下所示的代码来动态改变列宽

$('#tdCheckAllBody').width($('#tdCheckAllHead').width());
$('#tdLoginBody').width($('#tdLoginHead').width());
$('#tdStatusBody').width($('#tdStatusHead').width());
$('#tdFNameBody').width($('#tdFNameHead').width());
$('#tdLNameBody').width($('#tdLNameHead').width());
$('#tdCompBody').width($('#tdCompHead').width());
但它似乎不能正常工作。感谢您的帮助。

使用此方法 $window.scroll函数{ $id的表头.offset{top:$id的控件,您放置了scrolling.scrollTop};
};

为此创建了一个工作小提琴:

当然,如果你的情况不同,你可能需要调整一下。在我看来,有问题的地方是,如果表格使用动态或%width,并处理自动滚动条(约占18px),当然,如果表格需要水平滚动条,它会使事情变得复杂,需要onscroll事件

可能是因为缺少重置css代码,所以您的示例不准确吗?
我用这个:

这不起作用,因为这个参数是最小宽度,有些行的宽度可能会更大,这会影响所有其他行。是的。但是你知道如何解决这个问题吗?你只能在td中放置div,比如对div进行剪切,然后将其展开,或者诸如此类的操作。如果在某些情况下宽度小于数据宽度,则很难使两个表具有相同的宽度。如果你有一个在线页面,我可能会看到更多你的问题。但问题是当我调整窗口大小时,所有的对齐都会改变…当然,%宽度和自动滚动条的问题就在这里。I c。我想这不是一个简单的答案。我的应用程序使用了一个复杂的校准算法onresize和onscroll,以确保表格单元格与标题www.symphonial.com一致。但这些技术在不同的情况下有很大的不同。如果你做一个例子,摆弄现实的内容和布局,我也许能帮上忙。