我收到此W3C HTML验证错误:
end tag for "table" which is not finished
代码:
<table id="myTable">
</table>
这是我的DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
我认为表格定义非常好!
答案 0 :(得分:6)
如果您查看XHTML 1.0 Strict DTD,则会指定表要求至少有一个TR
或TBODY
:
<!ELEMENT table
(caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
<!ELEMENT caption %Inline;>
<!ELEMENT thead (tr)+>
<!ELEMENT tfoot (tr)+>
<!ELEMENT tbody (tr)+>
<!ELEMENT colgroup (col)*>
<!ELEMENT col EMPTY>
<!ELEMENT tr (th|td)+>
<!ELEMENT th %Flow;>
<!ELEMENT td %Flow;>
TR
又需要TH
或TD
中的至少一个。
元素名称后面的+
符号表示它应至少出现 。
答案 1 :(得分:3)
我相信表中应该有一个tr和td标签来验证。当你关闭一个没有标题标签的头标签时,它是一样的
答案 2 :(得分:3)
XHTML 1.0表必须至少包含tbody
或tr
个孩子。请参阅the DTD,特别是table element:
<!ELEMENT table
(caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
请注意最后一部分。
答案 3 :(得分:0)
查看http://validator.w3.org/docs/errors.html
73:X的结束标记未完成
最有可能的是,嵌套标签并以错误的顺序关闭它们。例如<p><em>
。
</p>
是不可接受的,因为必须在<em>
之前关闭<p>
。可接受的嵌套是:
<p><em>...</em></p>
另一种可能性是你使用了一个需要你没有包含的子元素的元素。因此,父元素“未完成”,未完成。例如,在HTML中元素必须包含子元素,列表需要适当的列表项(<ul>
和<ol>
需要<li>
; <dl>
需要<dt>
和{ {1}}),等等。
您的桌子中至少需要一个<dd>
。