为什么不使用 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");
。它会自动创建一个结束标记。我该怎么办?
最佳答案
这些是空元素。这意味着它们不是为包含文本或其他元素而设计的,因此不需要——事实上,不能——HTML 中的结束标记。1
但是,他们应该有一个 <label>
与他们相关:
<input id="my_id" type="radio" name="radio_name">
<label for="my_id">Radio Label</label>
单选按钮本质上无论如何都不能包含文本,因此它们接受文本或其他元素作为内容是没有意义的。接受文本作为输入的控件的另一个问题是:它的文本内容应该是它的值,还是它的标签?为了避免歧义,我们有一个 <label>
元素完全按照锡 jar 上的说明进行操作,我们有一个 value
表示输入控件值的属性。
1 XHTML 不同;根据 XML 规则,每个标签都必须打开和关闭;这是使用快捷语法而不是 </input>
完成的标签,尽管后者同样可以接受:
<input id="my_id" type="radio" name="radio_name" />
<label for="my_id">Radio Label</label>
关于html - 关闭 HTML <input> 标签问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13232121/