一尘不染

关闭HTML 标签问题

html

我想知道为什么HTML <input>标记没有像其他HTML标记那样获得结束标记,如果我们关闭输入标记会出现什么问题呢?

我尝试使用Google,但发现写这样的输入标签的标准没有用来<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>

有人可以解释吗?

PS
:我遇到的主要问题是我正在使用的问题中提到的自动关闭输入标签,var DOM_tag =document.createElement("input"); 它会自动创建一个关闭标签。我该怎么办?


阅读 841

收藏
2020-05-10

共1个答案

一尘不染

这些是无效元素。这意味着它们没有被设计成包含文本或其他元素,因此并不需要-而事实上, 不能有 -在HTML结束标记。1个

但是,它们可以<label>与它们关联:

<input id="my_id" type="radio" name="radio_name">
<label for="my_id">Radio Label</label>

从本质上讲,单选按钮不能包含文本,因此单选按钮接受文本或其他元素作为内容没有任何意义。确实接受文本作为输入的控件的另一个问题:其文本内容应该是其值还是其标签?为了避免含糊不清,我们有一个<label>元素可以完全按照其在锡盒上的说明进行操作,并且我们有一个value属性来表示输入控件的值。


1 XHTML是不同的;根据XML规则,每个标签都必须打开和关闭;这是通过快捷方式语法而不是</input>标签完成的,尽管后者同样可以接受:

<input id="my_id" type="radio" name="radio_name" />
<label for="my_id">Radio Label</label>
2020-05-10