为什么选择标签至少需要孩子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或带有dataBind的ListBox控件):

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

DTD中没有解释:http://www.w3.org/TR/xhtml1/dtds.html

你知道为什么W3C验证要求吗?

(以及如何使这个页面在ASP.NET WebForms 4.0中使用DropDownList或ListBox控件有效?)


没有任何选择的选择的语义是什么? 你可能没有选择...


为什么? 很可能是因为它大约在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中进行验证


假设这是一个问题的原因是因为您正在动态添加option ,我建议您也动态添加select

实际上,您可以在页面加载中添加node ...

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

并在必要时用selectoptions替换它。

链接地址: http://www.djcxy.com/p/15661.html

上一篇: Why the select tag need at least on child to be xhtml 1.0 valid

下一篇: html5 vertical spacing issue with <img>