Html 当字段是动态的时,如何在表格宽度内包含标题

Html 当字段是动态的时,如何在表格宽度内包含标题,html,css,Html,Css,我有一个表,有几行和重复出现的标题。列数不是固定的,可以变化。标题是横跨整个表的单个单元格。当从表中删除列时,不会重新计算标题宽度,并且超出表的宽度。如何用尽可能少的代码将标题包含在表中。如果可能的话,我宁愿不使用JS 我重新创造了这个问题 els=document.getElementsByClassName(“隐藏”) 对于(var i=0;i尝试根据可见单元格重置colspan: $(".hide").hide(); var rowlength = $( "tr:nth-child(2)

我有一个表,有几行和重复出现的标题。列数不是固定的,可以变化。标题是横跨整个表的单个单元格。当从表中删除列时,不会重新计算标题宽度,并且超出表的宽度。如何用尽可能少的代码将标题包含在表中。如果可能的话,我宁愿不使用JS

我重新创造了这个问题


els=document.getElementsByClassName(“隐藏”)

对于(var i=0;i尝试根据可见单元格重置colspan:

$(".hide").hide();
var rowlength = $( "tr:nth-child(2) td" ).length;
var hidelength  = $( "tr:nth-child(2) td.hide" ).length;
$("th").attr("colspan",rowlength-hidelength);


数字
[...]

对于任何对我最终是如何做到这一点感兴趣的人:

我在
列中添加了相同的类“hide”,这样当列被隐藏时,列标记就不再显示了。
我在
tr
上设置了
colspan
列的确切最大数。
我已经在第一列的表格中添加了一个宽度(可能的最小宽度)


顺便说一句,我知道提琴在Chrome中不起作用,但出于某种原因,在我的应用程序中,它在Chrome和FF中都能起作用。

我不确定不使用JavaScript或固定宽度也能起作用。@PhistucK你有没有关于这方面的短JS代码?你可能可以使用表格标题?这样可以避免使用v的问题列数可变。@JohanVdR“Recurtive header”标题是否可以重复?除此之外,由于其他原因,标题不适合我的需要,我尝试了它。感谢您编辑您的问题。这些列是在运行时用javascript更改的,还是静态的?我不使用JQuery。我正在尽量减少在我的页面上使用JS$(“.hide”).hide();是不是jqueryI不能多次使用标题,可以吗?@Dharman我对John的答案投了更高的票。你的问题令人困惑,你的演示没有显示你的实际问题。它只是一个带有未关闭colgroup的表。制作一个演示来显示你的标记是什么样子以及你的问题是什么。此外,你还不清楚你的DOM是否会被操作或者您只需要将表标题“呈现”"仅在页面加载。仅作为表的第一个子项。这是整个表的标题。请参见@Nico O。他是否只想通过使用javascript隐藏单元格来说明问题,这令人困惑。但问题仍然存在。我还想看看@Dharman通过循环标题的含义。这是应用于JS还是应用于JS文档一直在使用?一个简单HTML的演示,一个图像加上对用例的清晰描述,在我看来会更有意义。
td{
    border: 1px solid grey;
}
table {

    border: 1px solid black;
    border-collapse:collapse;
    table-layout: fixed;
}
els = document.getElementsByClassName("hide")
for(var i=0;i<els.length;i++)
    els[i].style.display = "none";
$(".hide").hide();
var rowlength = $( "tr:nth-child(2) td" ).length;
var hidelength  = $( "tr:nth-child(2) td.hide" ).length;
$("th").attr("colspan",rowlength-hidelength);
<table>
    <caption>
    Numbers
    </caption>
    [...]