Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation HTML验证错误帮助:表列中没有开头的单元格_Validation_Html_Html Validation - Fatal编程技术网

Validation HTML验证错误帮助:表列中没有开头的单元格

Validation HTML验证错误帮助:表列中没有开头的单元格,validation,html,html-validation,Validation,Html,Html Validation,请帮我解决验证错误。我不明白这是什么意思,也不明白我的HTML有什么不对 我将在这里重新发布它,因为希望我能修复它,并且该链接将不再工作: 由元素td建立的表第2列中没有起始单元格。 …="tooltip_table"><tr><td colspan="2">20 yd range</td></tr><tr><td colspan="2" ↑ …=“

请帮我解决验证错误。我不明白这是什么意思,也不明白我的HTML有什么不对

我将在这里重新发布它,因为希望我能修复它,并且该链接将不再工作:

由元素td建立的表第2列中没有起始单元格。

…="tooltip_table"><tr><td colspan="2">20 yd range</td></tr><tr><td colspan="2"
                                     ↑

…=“tooltip\u table”>20码范围当您说
colspan=“2”
时,该列应横跨两列。我的猜测是,在able中的其他地方没有定义第二列,因此不可能(也不必要)使用
colspan=“2”

我在报纸上找不到任何明确表示这是非法的东西。也许该规范中引用的表格计算算法与4.01有所不同,但在我的时区,尝试绕过它已经太晚了:)

然而,我发现错误消息的意义太过完美,不可能是一个彻头彻尾的bug

由元素td建立的表2列中没有开始的单元格

通过使用
colspan=“2”
,意味着第二列的存在,在这种情况下不存在第二列。常识告诉我唠叨是正确的


也许有人能解释一下。。。或者它确实是一个bug。

看起来像是HTML5验证程序的问题。 如果使用HTML4.01 Transitional进行验证,并且html5中的表格HTML没有太多更改,则不会出现该错误


报告它可能是一个好主意

HTML5.2草案:第4.9.12.1节形成表格

步骤22:如果表中存在一行或一列,其中只包含没有固定单元格的插槽,则这是表模型错误


我在一个动态创建的表上也有同样的错误。根据输入,是否显示某些行取决于输入。像这样:

不会导致错误:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
<tr>
<td colspan=2> one cell in row 2 </td>
</tr>
</table>
<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
</table>

第1行中的单元格1
第1行第2单元
第2行有一个单元格
不会导致错误:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
<tr>
<td colspan=2> one cell in row 2 </td>
</tr>
</table>
<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
</table>

第1行中的单元格1
第1行第2单元
导致错误:

<table>
<tr>
<td colspan=2> one cell in what is now the only row </td>
</tr>
</table>

现在是唯一一行的一个单元格
当我将页面编程为在第一行未显示时从上一个示例中删除colspan时,错误消失了。大概是这样的:

<?php if (first row with two cells is displayed) echo 'colspan=2'; ?>


我觉得这是合乎逻辑的。只有一个单元格的colspan=2就像告诉来访的人在没有任何路口的街道上右转,相信他们会一直往前走。他们不会的。相反,他们会被挂断寻找不存在的东西。也许这不是一个完全准确的类比,但你可以想象一个愚蠢的浏览器在寻找你告诉它在那里但不在那里的东西时,会产生显示错误。浏览器不应该“认为”您的代码可能与您编写代码的方式有所不同。

我认为这是一个bug,尚未修复。考虑并通过W3C验证器运行它。它给出了“由元素td建立的表列3中没有开始的单元格”的错误,但是每个表有4个单元格/列,并且在第二个单元格上调用了2的“colspan”。

此线程有点旧,但是我为任何碰到它的人发布了此线程

使用标记定义每个列将删除消息,并为colspan提供相关内容


更多信息请参见此处的答案:

如果您启动该表,它将修复验证列错误。 如果您的表有8列,那么第一行必须有8个元素,如果您只是初始化,则不希望看到这些元素。css元素是: tr.Init{border:none;} 以及8列表格的下面第一行。
结果是-您看不到第一行,验证错误已修复。

只需修复Alohci答案的链接

  • 如果表中存在一行或一列,其中仅包含未定位单元格的插槽,则这是表模型错误

  • 但据我所知这并不违法。。你有没有任何消息来源说是这样的?这个表格不是文档中唯一一个这样的表格。但是,只有该表的标记有错误。@Glex我没有看到,如果这是真的,那么它一定是一个错误。我对colspan有相同的错误,所以我将其从colspan=“3”更改为colspan=“2”,错误消失了。HTML 5和4.01是完全不同的野兽,事实上,一个应用的规则集与另一个不同,尽管可能,不一定是一个“错误”。没有更多的证据,我认为没有必要采取b字:)的观点。然而,在发布答案之前,我读到了以下内容:没有任何证据表明结构发生了如此大的变化。让我们把它称为一个问题,因为我们不确定它是否是一个bug:)@Glex我刚从同一个文档中读了回来:)里面确实什么都没有,但对我来说,错误消息太有意义了,不可能是bug。好吧,我们会看到,如果一份报告被归档,我很想知道它会产生什么结果。亨利·西沃宁的验证器也这么说,所以它会是两个独立验证器中的一个bug?(他们是独立的,不是吗?@Marcel-我认为他们是一个整体。我明白了。这似乎是答案。另外,对于记录,下一个表单元格——我用默认的“display:hidden”进行了尝试,但没有;在每种情况下,都会出现错误,因此单元格的CSS显示(隐藏或可见)不是导致此错误的原因。我检查了四次。另外,我已经将这个bug添加到了验证器中。nu Bugzilla列表:我想我们已经解决了。在使用colspan之前,需要另一个具有完整单元格计数的行。HTML5抓住了这个错误,而以前的doctype让它溜走了。