【发布时间】:2012-10-25 06:57:05
【问题描述】:
为什么 HTML <input> 标签没有像其他 HTML 标签一样获得结束标签,如果我们关闭输入标签会出现什么问题?
我尝试谷歌,我找到了编写像这样<input type="text" name="name"> 这样的输入标签的标准,而不是用</input> 关闭它。
当我使用为Radio 按钮创建输入标签时,我个人感觉到了问题
var DOM_tag = document.createElement("input");
这虽然创建了一个单选按钮,但 TextNode 我附加到单选按钮
document.createTextNode("Radio Label");
不起作用。在这种情况下,它只是显示没有Radio Label 的单选按钮。
虽然我可以看到完整的代码:
<input id="my_id" type="radio" name="radio_name">Radio Label</input>
什么是解释?
附言
我遇到的主要问题是输入标签的自动关闭,正如我在问题中提到的,因为我使用的是var DOM_tag = document.createElement("input");,它会自动创建一个关闭标签。我该怎么办?
【问题讨论】:
-
有许多标签可以做到这一点(img 也会浮现在脑海中),但您可以根据需要关闭它们。您还可以通过在右括号前添加一个斜杠来“自动关闭”标签。即 。此外,一些浏览器会为您关闭标签(检查您在 IE 和 FF 上的源代码)。
-
如果您希望您的标记是有效的 XML,您需要关闭该标记。如果你希望它是有效的 HTML,你需要 self close 该标签。
-
@Asad XML 还包含自结束标记;
<input type="text" />是完全有效的 XML。 -
@ShadowWizard 我从来没有说过它没有。我要说的是,输入标签不需要自我关闭才能成为有效的 XML,尽管它确实需要自我关闭才能成为有效的 HTML。
-
@Asad Saeeduddin:HTML 中没有“自闭合标签”之类的东西。一个元素要么有一个强制性的结束标签,要么有一个可选的结束标签,或者不能有任何结束标签。虚元素属于后者。 (这个问题已经有好几年了,但仍然存在。)