为什么HTML <input />中的输入标记代替<input />

时间:2014-10-16 02:47:04

标签: html

为什么HTML中的输入标记

<input value="something"/>

而不是

<input>something</input>

为什么p标签不是

<p value="something"/>

而不是

<p>something</p>

4 个答案:

答案 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 />代码。