关闭HTML <input>标记问题

我想知道为什么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"); 它会自动创建一个关闭标签。我该怎么办?


互换的青春
浏览 861回答 3
3回答

牧羊人nacy

<input>是一个空标签,因为它没有任何内容或结束标签。为了符合规定,您可以像这样使用标记来表示标记的结尾:<input type="text" value="blah" />这是XHTML兼容的方法,用于关闭不包含任何内容的标签。这同样适用于该<img>标签。要标记单选按钮,最好使用<label>BoltClock的答案所描述的标记。

收到一只叮咚

这些是无效元素。这意味着它们并非旨在包含文本或其他元素,因此不需要-实际上也不能包含 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>
打开App,查看更多内容
随时随地看视频慕课网APP