【问题标题】:What is the HTML "for" attribute in <output> tag?<output> 标签中的 HTML“for”属性是什么?
【发布时间】:2018-01-31 12:26:46
【问题描述】:

我无法理解 HTML5 新 output 标记中的 for 属性是什么,因为结果不会根据该属性的存在而改变。

This question 在 2012 年被问到(HTML4),HTML5 出现在 2014 年,我的问题不重复。回答为什么 attr "for" 在 HTML4 中。

【问题讨论】:

  • @L_Church 不,这不是真的。是的,它是一个 for 属性,但它与 label 上使用的属性不同。
  • 不管你说什么,但不少人同意我的观点......
  • 那么真理站在多数一边,而不是文档和逻辑?
  • @rangergref 我不知道这两个问题的答案是否相同,但我已经强调了这两个问题的不同之处,我投票决定重新开放。

标签: html


【解决方案1】:

for 属性指定计算结果与计算中使用的元素之间的关系。请参阅MDN on labelMDN on outputW3Schools

示例

label标签

<label for="username">Username</label>
<input type="text" id="username" name="username" />

output标签

<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
  <input type="range" id="a" value="50">100 +
  <input type="number" id="b" value="50"> =
  <output name="x" for="a b"></output>
</form>

现在,当用户用鼠标点击用户名文本时,浏览器会自动将焦点放在相应的输入字段中。这也适用于其他输入元素,例如 &lt;textbox&gt;&lt;select&gt;&lt;output&gt;

【讨论】:

  • 在标签“标签”中它按照你的解释工作,但在“输出”中它在其他方面工作。
  • 只是一个元素id。它指定了两个 id 之间的关系。例如:我只是添加两个值,我需要将它存储在结果中。我需要知道,添加和存储的值是什么。
  • 其他元素的 ID 列表,表明这些元素为计算贡献了输入值(或以其他方式影响)。
【解决方案2】:

正如 Mozilla 开发者网络所述:

其他元素的 ID 列表,表明这些元素为计算贡献了输入值(或以其他方式影响了)。

所以它只是一个可以用于语义目的的列表。

W3schools 没有提供关于for 标签的充分解释。请改用MDN

【讨论】:

    【解决方案3】:

    它没有做太多只是为了更好地了解输入之间的关系与输出相关联。

    因此其他人可以轻松理解您的代码。

    请参考下面:没有 for="x y" 内部输出也是一样的。

    <form oninput="z.value=parseInt(x.value)+parseInt(y.value)">
    <label>First Value</label>
    <input type="number" id="x" >
    <label>Second Value</label>
    <input type="number" id="y">
    <label>Result :</label>
    <output name="z"></output>
    </form>

    【讨论】:

      猜你喜欢
      • 2015-01-23
      • 2013-08-28
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多