HTML colspan 0替代

FLX*_*FLX 7 html css html-table

我有一个HTML表格,我想给最后一行(在<tfoot>标签中)只有一个单元格扩展到所有表格.

我正在使用colspan="0",然后我看到它只适用于Firefox.然后我试过了colspan="100%".它工作正常,但没有通过w3c验证器(在我的项目中非常重要).

有替代方案吗?

我看到有人使用colspan="1000",但不是一个坏主意,但有一些性能问题吗?

谢谢你的建议.

Adr*_*tti 5

我的第一个答案是:重构你的代码。如果您需要总列数来构建表格页脚,那么您用于构建表格主体的函数应该返回该数字(而不仅仅是 HTML)。

也就是说,只有在它太复杂(或者您无法控制该代码)的情况下,您才可以自己计算它们,我会避免任何技巧,colspan因为它的行为不是同质的(并且它也没有经过验证)。

您可以使用第一行轻松计算单元格的数量(如果表格格式正确,所有行都具有相同的列数)。

第一个天真的解决办法是将split()HTML TBODY然后到substr_count()<td/>第一排的。不幸的是,这可能仅在非常受控制的情况下起作用(表格必须格式良好,表格可能包含或不包含tbody,并且不管理colspan该单元格)。

更好的解决方案涉及一个小的HTML 解析器(请参阅SO 上的这篇很棒的帖子以获得一个好的详细列表),当您拥有DOM 时,您可以轻松地计算 TD 并检查它们的属性(我提前说:不,您可以” t 使用正则表达式来解析 HTML)。

老实说,我认为重构更合适...

  • 我只是查看 w3c 文档。他们为 HTML5 删除了这个,但仅适用于 colspan。0 是仅适用于 rowspan 的有效值。你只是在逗我吗? (3认同)