2011-08-23 50 views
1

爲什麼選擇標記需要至少有一個孩子是有效的xhtml 1.0?爲什麼選擇標記至少需要孩子xhtml 1.0有效

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<title>Why select tag need at least one child to be xhtml valid ?</title> 
</head> 
<body> 
Allowed users :<br/> 
<select size="5" style="width: 200px"> 
</select> 
<br /> 
Alls users :<br/> 
<select size="5" style="width: 200px"> 
    <option>root</option> 
    <option>John Doe</option> 
    <option>Jane Doe</option> 
</select> 
</body> 
</html> 

要有效,我需要寫:

<select><option/></select> 

我認爲這是無用的,它的繁瑣程序添加空的選項標籤(特別是在ASP.NET的WebForms,我用一個DropDownList或有數據綁定ListBox控件):

if count == 0 then add <option/>... 

有一個在DTD沒有解釋:http://www.w3.org/TR/xhtml1/dtds.html

你知道爲什麼W3C驗證要求嗎?

(我怎樣才能使使用一個DropDownList或ASP.NET Web窗體4.0 ListBox控件?本頁面有效)

+2

驗證。 :) – PeeHaa

+1

例如:包含所有用戶的選擇選項卡和包含授權用戶的第二個選擇標籤(以及允許或拒絕用戶的按鈕) – Ubikuity

回答

1

這將是一個選擇的語義不帶任何選項?你可能沒有選擇...

0

假設這是一個問題的原因是因爲你動態地添加option s,我建議也動態地添加select

事實上,你可以在頁面加載添加node ...

<a name="whatever" id="whatever-id" />

,並在必要時用selectoptions更換。

1

爲什麼?很可能是因爲它大約在10年前定義的一個標準。 您應該考慮繼續...

下面的示例。


HTML5

切換您的DOCTYPE行:

<!DOCTYPE html> 

而且你的元字符集線:

<meta charset="UTF-8" /> 

生成的HTML標記達:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Why select tag need at least one child to be xhtml valid ?</title> 
</head> 
<body> 
    Hello World : <select></select> 
</body> 
</html> 

爲什麼你會添加一個選擇標籤不帶任何選項是真正的問題在這裏可以隨意在http://validator.w3.org/#validate_by_input

+1

OP詢問了有關XHTML 1.0的具體內容。 – PeeHaa

相關問題