2010-11-30 58 views
5

我得到這個W3C HTML驗證錯誤:爲什麼這個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

它對我來說很好。這是拋出錯誤的實際代碼嗎? – Allan 2010-11-30 19:25:42

回答

3

我相信應該有一個表內的tr和td標籤來驗證。當您關閉不包含標題標籤的頭標籤時,情況也是如此。

+0

我沒有得到這個警告,當我做`

` – BeemerGuy 2010-11-30 19:28:43

+1

@BeemerGuy我做了 – 2010-11-30 19:31:18

3

要求XHTML 1.0表至少有一個tbodytr孩子。見the DTD,特別是table element

<!ELEMENT table 
    (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> 

注的最後一部分。

6

如果你看看XHTML 1.0 Strict DTD,它指定表需要TR OR 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,反過來,需要THTD至少一個。

++表示它應該出現至少一次

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><dd>)等等。

您的表格中至少需要一個<tr>