2012-06-05 13 views
0

有人可以告訴我爲什麼我的內部行不會進入td。<tr>裏面​​不能正常顯示

<tr id="group_1_id"> 
    <th>Group 1</th> 
    <td> 
     <tr id="1"><td>1</td><td>One</td><td><input type="text" name="one" value="one"/></td></tr> 
     <tr id="2"><td>2</td><td>Two</td><td><input type="text" name="two" value="two"/></td></tr> 
     <tr id="3"><td>3</td><td>Three</td><td><input type="text" name="three" value="three"/></td></tr> 
    </td> 
</tr> 

3個表格行來自父tr。雖然它們是在我父母tr的td內定義的。

在此先感謝

回答

8

我會說你的HTML不正確。如果您需要標題部分,請使用<thead><tbody>元素,而不是<th>。我相信你的問題是因爲你使用了<th>而不是<thead>

您可能想使用驗證器來檢查您的HTML是否正確。例如,上傳您的頁面到http://validator.w3.org,並更正它顯示給您的錯誤。

還檢查規範(例如在www.whatwg.org),因爲我想你想在一個表中創建多個頭部分。一個表格可以不多於一個<thead>,不多於一個<tfoot>,以及任何數量的<tbody>元素。

哦,你剛纔重新編輯的問題,但問題是相同的:)

一個<tr>元素不能放在一個<td><th>內。當該代碼被解析,嵌套表是自動創建的,所以真正的HTML看起來像這樣:

<tr id="group_1_id"> 
    <th>Group 1</th> 
    <td> 
    <table> 
     <tbody> 
     <tr id="1"><td>1</td><td>One</td><td><input type="text" name="one" value="one"/></td></tr> 
     <tr id="2"><td>2</td><td>Two</td><td><input type="text" name="two" value="two"/></td></tr> 
     <tr id="3"><td>3</td><td>Three</td><td><input type="text" name="three" value="three"/></td></tr> 
     </tbody> 
    </table> 
    </td> 
</tr> 
+0

+1解釋當代碼解析會發生什麼。我有一段代碼,裏面有一個tr,並想知道爲什麼它正確呈現(這是HTML中的電子郵件) –