为什么HTML中的输入标记
<input value="something"/>
而不是
<input>something</input>
为什么p标签不是
<p value="something"/>
而不是
<p>something</p>
答案 0 :(得分:1)
这就是它的设计方式。由于某种原因,决定使用属性 存储价值。 我认为它在跟踪和引导空格方面也很有优势 - 在属性中更容易。带标签的标准是忽略空格,这在您想要捕获所有文本的输入字段中是不可取的。标签的另一个问题是多行的开始和结束标记。
答案 1 :(得分:0)
这两个标签试图用它们的“价值”做一些根本不同的事情。
p
标记是分隔文本块的一种方法。它和其他“结束标记”(即具有</tag>
的标记,如p
)告诉解析器该文本意味着什么。考虑到这一点,格式是有道理的:解析器看到<p>
标签,并且知道“从这里到我看到</p>
标签的所有内容在语义上都是一个段落;行为恰当。”
然而,input
标记并未试图将含义应用于任何文本;标签是的含义。从解析器的角度来看,看到<input />
标签告诉它“用表单元素替换它”。这是自闭标签的基本行为:它们不会为文本添加含义,它们会将内容(一种或另一种形式)添加到整个文档中。因此,为input
设置结束标记没有意义; input
没有为任何文本提供额外的含义,而是文本说明了对input
元素有意义的内容。因此,这是一个属性。
答案 2 :(得分:0)
由于标签实际执行的操作,因此使用了<input/>
标记而不是编写它的打开/关闭标记。
输入标记不会占用任何子元素,所以你需要写更多?
与仍可包含更多子元素的<div>
<span>
和<table>
标记不同,请与<input>
标记进行比较,该标记是独立元素,不需要出于任何原因。
换句话说,浏览器也支持以这种方式编写它:
<input type="text"></input>
答案 3 :(得分:0)
这些类型的标记称为独立标记,不会在开始标记和结束标记之间包装内容。例如在<h1>East</h1>
我们有两个标签。在独立标记中,内容被捆绑为开始标记内的value属性的值。例如<input type="submit" value="Send" />
和中断<br />
代码。