1. 4.10.6 button 元素
      2. 4.10.7 select 元素
      3. 4.10.8 datalist 元素
      4. 4.10.9 optgroup 元素
      5. 4.10.10 option 元素
      6. 4.10.11 textarea 元素
      7. 4.10.12 output 元素
      8. 4.10.13 progress 元素
      9. 4.10.14 meter 元素
      10. 4.10.15 fieldset 元素
      11. 4.10.16 legend 元素

4.10.6 button 元素

元素/button

所有当前引擎均支持。

Firefox1+Safari4+Chrome1+
Opera15+Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+

HTMLButtonElement

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+
类别:
流内容.
短语内容.
交互式内容.
已列出可标记可提交以及自动大写和小写继承 表单关联元素
可感知内容.
可以使用此元素的上下文:
在预期短语内容的地方。
内容模型:
短语内容,但不得有任何交互式内容后代,也不得有任何后代指定tabindex 属性。
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
disabled — 表单控件是否已禁用
form — 将元素与form 元素关联
formaction — 用于表单提交URL
formenctype — 用于表单提交条目列表编码类型
formmethod — 用于表单提交的变体
formnovalidate — 绕过表单控件验证以进行表单提交
formtarget — 用于表单提交可导航
name — 用于表单提交以及在form.elements API 中使用的元素名称
popovertarget — 目标弹出窗口元素以切换、显示或隐藏
popovertargetaction — 指示目标弹出窗口元素是否要切换、显示或隐藏
type — 按钮类型
value — 用于表单提交的值
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLButtonElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute boolean disabled;
  readonly attribute HTMLFormElement? form;
  [CEReactions] attribute USVString formAction;
  [CEReactions] attribute DOMString formEnctype;
  [CEReactions] attribute DOMString formMethod;
  [CEReactions] attribute boolean formNoValidate;
  [CEReactions] attribute DOMString formTarget;
  [CEReactions] attribute DOMString name;
  [CEReactions] attribute DOMString type;
  [CEReactions] attribute DOMString value;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  boolean reportValidity();
  undefined setCustomValidity(DOMString error);

  readonly attribute NodeList labels;
};
HTMLButtonElement includes PopoverInvokerElement;

button 元素表示一个由其内容标记的按钮。

该元素是一个按钮

type 属性控制激活按钮时的行为。它是一个具有以下关键字和状态的枚举属性

关键字状态简要描述
submit 提交按钮 提交表单。
reset 重置按钮 重置表单。
button 按钮 不执行任何操作。

属性的缺少值默认值无效值默认值 均为提交按钮状态。

如果type 属性处于提交按钮状态,则该元素特别是一个提交按钮

约束验证:如果type 属性处于重置按钮状态或按钮状态,则该元素禁止约束验证

button 元素element 在给定event时的激活行为

  1. 如果element禁用,则返回。

  2. 如果element节点文档完全激活,则返回。

  3. 如果element具有表单所有者,则根据elementtype 属性的状态切换,然后

    提交按钮

    element提交element表单所有者,并将userInvolvement 设置为event用户导航参与度

    重置按钮

    重置element表单所有者

    按钮

    不执行任何操作。

  4. 运行给定element弹出窗口目标属性激活行为

form 属性用于将button 元素与其表单所有者显式关联。name 属性表示元素的名称。disabled 属性用于使控件不可交互,并防止其值被提交。formactionformenctypeformmethodformnovalidateformtarget 属性是表单提交属性

formnovalidate 属性可用于创建不触发约束验证的提交按钮。

如果元素的type 属性不处于提交按钮状态,则不得指定formactionformenctypeformmethodformnovalidateformtarget

value 属性为表单提交的目的提供元素的值。元素的是元素的value 属性的值(如果存在),否则为空字符串。

只有当按钮本身用于启动表单提交时,按钮(及其值)才会包含在表单提交中。


value IDL 属性必须反映同名内容属性。

type IDL 属性必须反映同名内容属性,仅限于已知值

willValidatevalidityvalidationMessage IDL 属性,以及 checkValidity()reportValidity()setCustomValidity() 方法,是 约束验证 API 的一部分。 labels IDL 属性提供元素的 标签 列表。 disabledformname IDL 属性是元素表单 API 的一部分。

下面的按钮标记为“显示提示”,并在激活时弹出对话框。

<button type=button
        onclick="alert('This 15-20 minute piece was composed by George Gershwin.')">
 Show hint
</button>

4.10.7 select 元素

元素/select

所有当前引擎均支持。

Firefox1+Safari1+Chrome1+
Opera2+Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android4+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+

HTMLSelectElement

所有当前引擎均支持。

Firefox1+Safari1+Chrome1+
Opera2+Edge79+
Edge (Legacy)12+Internet Explorer1+
Firefox Android4+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+
类别:
流内容.
短语内容.
交互式内容.
列出可标记可提交可重置自动大写和小写继承 与表单关联的元素
可感知内容.
可以使用此元素的上下文:
在预期 短语内容 的地方。
内容模型:
零个或多个 optionoptgrouphr支持脚本 元素。
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
autocomplete — 表单自动填充功能的提示
disabled — 表单控件是否禁用
form — 将元素与 form 元素关联
multiple — 是否允许多个值
name — 用于 表单提交form.elements API 的元素名称
required — 控件是否为 表单提交 所需
size — 控件的大小
可访问性注意事项:
如果元素具有 multiple 属性或 size 属性且其值为 > 1:供作者使用供实现者使用
否则:供作者使用供实现者使用
DOM 接口:
[Exposed=Window]
interface HTMLSelectElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute DOMString autocomplete;
  [CEReactions] attribute boolean disabled;
  readonly attribute HTMLFormElement? form;
  [CEReactions] attribute boolean multiple;
  [CEReactions] attribute DOMString name;
  [CEReactions] attribute boolean required;
  [CEReactions] attribute unsigned long size;

  readonly attribute DOMString type;

  [SameObject] readonly attribute HTMLOptionsCollection options;
  [CEReactions] attribute unsigned long length;
  getter HTMLOptionElement? item(unsigned long index);
  HTMLOptionElement? namedItem(DOMString name);
  [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
  [CEReactions] undefined remove(); // ChildNode overload
  [CEReactions] undefined remove(long index);
  [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);

  [SameObject] readonly attribute HTMLCollection selectedOptions;
  attribute long selectedIndex;
  attribute DOMString value;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  boolean reportValidity();
  undefined setCustomValidity(DOMString error);

  undefined showPicker();

  readonly attribute NodeList labels;
};

select 元素表示用于在一组选项中进行选择的控件。

属性/multiple

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera?Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

multiple 属性是一个 布尔属性。如果存在该属性,则 select 元素 表示 用于从 选项列表 中选择零个或多个选项的控件。如果不存在该属性,则 select 元素 表示 用于从 选项列表 中选择单个选项的控件。

属性/size

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera?Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

size 属性给出要向用户显示的选项数。如果指定了 size 属性,则其值必须是大于零的 有效非负整数

select 元素的 显示大小 是将 解析非负整数的规则 应用于元素的 size 属性值(如果存在并且解析成功)的结果。如果将这些规则应用于属性的值不成功,或者 size 属性不存在,则元素的 显示大小 为 4(如果元素的 multiple 内容属性存在)或 1(否则)。

select 元素的 选项列表 包括 select 元素的所有 option 元素子节点,以及 select 元素的所有 optgroup 元素子节点的所有 option 元素子节点,按照 树的顺序

属性/required

所有当前引擎均支持。

Firefox4+Safari5.1+Chrome10+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

required 属性是一个 布尔属性。当指定时,用户在提交表单之前必须选择一个值。

如果 select 元素具有指定的 required 属性,没有指定的 multiple 属性,并且 显示大小 为 1;并且如果 select 元素的 选项列表 中第一个 option 元素的 (如果存在)为空字符串,并且该 option 元素的父节点是 select 元素(而不是 optgroup 元素),则该 optionselect 元素的 占位符标签选项

如果 select 元素具有指定的 required 属性,没有指定的 multiple 属性,并且 显示大小 为 1,则 select 元素必须具有 占位符标签选项

在实践中,上一段中陈述的要求仅当 select 元素没有 size 属性且其值大于 1 时才适用。

约束验证:如果元素具有指定的 required 属性,并且 select 元素的 选项列表 中的任何 option 元素的 选中状态 都未设置为 true,或者 select 元素的 选项列表 中唯一一个 选中状态 设置为 true 的 option 元素是 占位符标签选项,则该元素 缺少值

如果multiple属性不存在,并且元素未禁用,则用户代理应允许用户在其选项列表中选择一个option元素,该元素本身未禁用。在此option元素被选中(通过点击,或在更改其值后取消元素焦点,或通过菜单命令,或通过任何其他机制)之后,并且在相关用户交互事件排队之前(例如,在click事件之前),用户代理必须将所选option元素的选中状态设置为true,将其脏状态设置为true,然后发送select更新通知

如果multiple属性不存在,则无论何时select元素的选项列表中的option元素的选中状态设置为true,以及无论何时选中状态设置为true的option元素被添加到select元素的选项列表中,用户代理必须将其选项列表中所有其他option元素的选中状态设置为false。

如果multiple属性不存在,并且元素的显示大小大于1,则用户代理还应允许用户请求取消选中选中状态为true的option(如果有)。在此请求传达给用户代理后,并且在相关用户交互事件排队之前(例如,在click事件之前),用户代理必须将该option元素的选中状态设置为false,将其脏状态设置为true,然后发送select更新通知

给定select元素element选中状态设置算法,将执行以下步骤

  1. 如果elementmultiple属性不存在,并且element显示大小为1,并且element选项列表中没有option元素的选中状态设置为true,则将选项列表中第一个未禁用option元素(如果有)的选中状态设置为true,并返回。

  2. 如果elementmultiple属性不存在,并且element选项列表中两个或多个option元素的选中状态设置为true,则将选项列表中除最后一个选中状态设置为true的option元素之外的所有元素的选中状态设置为false。

给定insertedNodeoptionHTML 元素插入步骤

  1. 如果insertedNode的父元素是select元素,或者insertedNode的父元素是其父元素为select元素的optgroup元素,则运行该select元素的选中状态设置算法

给定removedNodeoldParentoptionHTML 元素移除步骤

  1. 如果oldParentselect元素,或者oldParent是其父元素为select元素的optgroup元素,则运行该select元素的选中状态设置算法

给定removedNodeoldParentoptgroupHTML 元素移除步骤

  1. 如果oldParentselect元素并且removedNode具有option子元素,则运行oldParent选中状态设置算法

如果选项列表中的option元素请求重置,则运行该select元素的选中状态设置算法

如果multiple属性存在,并且元素未禁用,则用户代理应允许用户切换选项列表中本身未禁用option元素的选中状态。在该元素被切换(通过点击,或通过菜单命令,或任何其他机制)之后,并且在相关用户交互事件排队之前(例如,在相关的click事件之前),option元素的选中状态必须更改(从true到false或从false到true),元素的脏状态必须设置为true,并且用户代理必须发送select更新通知

当用户代理要发送select更新通知时,在给定select元素的用户交互任务源上排队一个元素任务以执行以下步骤

  1. select元素的用户有效性设置为true。
  2. select元素上触发名为input的事件,并将bubblescomposed属性初始化为true。

  3. select元素上触发名为change的事件,并将bubbles属性初始化为true。

select元素selectElement重置算法

  1. selectElement用户有效性设置为false。

  2. 对于selectElement选项列表中的每个optionElement

    1. 如果optionElement具有selected属性,则将optionElement选中状态设置为true;否则设置为false。

    2. optionElement脏状态设置为false。

  3. 运行给定selectElement选中状态设置算法

form属性用于显式地将select元素与其表单所有者关联。name属性表示元素的名称。disabled属性用于使控件无法交互并阻止提交其值。autocomplete属性控制用户代理如何提供自动填充行为。

禁用select元素是可变的

select.type

HTMLSelectElement/type

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera2+Edge79+
Edge (Legacy)12+Internet Explorer1+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

如果元素具有multiple属性,则返回“select-multiple”,否则返回“select-one”。

select.options

HTMLSelectElement/options

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

返回HTMLOptionsCollection,其中包含选项列表

select.length [ = value ]

返回选项列表中元素的数量。

设置为较小的数字时,将截断option元素在select中的数量。

设置为较大的数字时,将在select中添加新的空白option元素。

element = select.item(index)

HTMLSelectElement/item

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+
select[index]

选项列表中返回索引为index的项目。这些项目按树序排序。

element = select.namedItem(name)

HTMLSelectElement/namedItem

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge (旧版)12+Internet Explorer6+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

选项列表中返回第一个具有IDname name的项目。

如果找不到具有该ID的元素,则返回null。

select.add(element [, before ])

HTMLSelectElement/add

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

在由before给定的节点之前插入element

before参数可以是数字,在这种情况下,element将插入到该数字之前指定的项目之前;也可以是选项列表中的元素,在这种情况下,element将插入到该元素之前。

如果省略before,或其值为null,或其值为超出范围的数字,则element将添加到列表的末尾。

如果element是其要插入到的元素的祖先,则此方法将抛出"HierarchyRequestError" DOMException

select.selectedOptions

HTMLSelectElement/selectedOptions

所有当前引擎均支持。

Firefox26+Safari6+Chrome19+
Opera9+Edge79+
Edge (旧版)12+Internet Explorer不支持
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

返回HTMLCollection,其中包含已选中的选项列表

select.selectedIndex [ = value ]

HTMLSelectElement/selectedIndex

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

返回第一个选中项目的索引(如果有),如果没有选中项目,则返回−1。

可以设置,以更改选择。

select.value [ = value ]

返回第一个选中项目的(如果有),如果没有选中项目,则返回空字符串。

可以设置,以更改选择。

select.showPicker()

显示select的任何适用选择器 UI,以便用户可以选择值。

如果select不可修改,则抛出"InvalidStateError" DOMException

如果在没有短暂用户激活的情况下调用,则抛出"NotAllowedError" DOMException

如果select位于跨源iframe内,则抛出"SecurityError" DOMException

如果select呈现,则抛出"NotSupportedError" DOMException

在获取type IDL 属性时,如果multiple属性不存在,则必须返回字符串“select-one”;如果multiple属性存在,则必须返回字符串“select-multiple”。

options IDL 属性必须返回一个HTMLOptionsCollection,该集合以select节点为根,其过滤器匹配选项列表中的元素。

options集合也反映在HTMLSelectElement对象上。在任何时刻,受支持的属性索引是由options属性在该时刻返回的对象所支持的索引。

length IDL 属性必须返回options集合表示的节点数。在设置时,它必须像options集合上同名的属性一样。

item(index)方法必须返回options集合上同名方法在使用相同参数调用时返回的值。

namedItem(name)方法必须返回options集合上同名方法在使用相同参数调用时返回的值。

当用户代理要为select元素设置新索引属性的值设置现有索引属性的值时,它必须改为在select元素的options集合上运行相应的算法

类似地,add(element, before)方法必须像该options集合上同名的方法一样。

HTMLSelectElement/remove

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

remove()方法在具有参数时必须像该options集合上同名的方法一样,在没有参数时必须像HTMLSelectElement祖先接口Element实现的ChildNode接口上同名的方法一样。

selectedOptions IDL 属性必须返回一个HTMLCollection,该集合以select节点为根,其过滤器匹配选项列表中其选中状态设置为true的元素。

selectedIndex IDL 属性在获取时必须返回选项列表树序中第一个其选中状态设置为true的option元素的索引(如果有)。如果没有,则必须返回−1。

在设置时,selectedIndex 属性必须将selectedness(选中状态)设置为option 元素在选项列表中的所有元素都为 false,然后将option 元素在选项列表中,其索引为给定新值(如果有)的元素的selectedness(选中状态)设置为 true,并将其dirtiness(脏标记)设置为 true。

这可能导致即使在select 元素没有multiple 属性且显示大小为 1 的情况下,也没有元素的selectedness(选中状态)设置为 true。

value IDL 属性在获取时,必须返回,该值来自选项列表中第一个option 元素,该元素在树状顺序中,其selectedness(选中状态)设置为 true(如果有)。如果没有这样的元素,则必须返回空字符串。

在设置时,value 属性必须将selectedness(选中状态)设置为option 元素在选项列表中的所有元素都为 false,然后将选项列表中第一个option 元素(在树状顺序中),其等于给定的新值(如果有)的元素的selectedness(选中状态)设置为 true,并将其dirtiness(脏标记)设置为 true。

这可能导致即使在select 元素没有multiple 属性且显示大小为 1 的情况下,也没有元素的selectedness(选中状态)设置为 true。

multiplerequiredsize IDL 属性必须反映同名的相应内容属性。size IDL 属性具有默认值 0。

出于历史原因,size IDL 属性的默认值不会返回实际使用的大小,在没有size 内容属性的情况下,大小为 1 或 4,具体取决于multiple 属性是否存在。

willValidatevalidityvalidationMessage IDL 属性以及 checkValidity()reportValidity()setCustomValidity() 方法是约束验证 API 的一部分。labels IDL 属性提供元素的label 列表。disabledformname IDL 属性是元素的表单 API 的一部分。

以下示例显示了如何使用select 元素为用户提供一组选项,用户可以从中选择一个选项。默认选项已预先选中。

<p>
 <label for="unittype">Select unit type:</label>
 <select id="unittype" name="unittype">
  <option value="1"> Miner </option>
  <option value="2"> Puffer </option>
  <option value="3" selected> Snipey </option>
  <option value="4"> Max </option>
  <option value="5"> Firebot </option>
 </select>
</p>

当没有默认选项时,可以使用占位符代替。

<select name="unittype" required>
 <option value=""> Select unit type </option>
 <option value="1"> Miner </option>
 <option value="2"> Puffer </option>
 <option value="3"> Snipey </option>
 <option value="4"> Max </option>
 <option value="5"> Firebot </option>
</select>

在这里,用户可以从一组选项中选择任意数量的选项。默认情况下,所有五个选项都已选中。

<p>
 <label for="allowedunits">Select unit types to enable on this map:</label>
 <select id="allowedunits" name="allowedunits" multiple>
  <option value="1" selected> Miner </option>
  <option value="2" selected> Puffer </option>
  <option value="3" selected> Snipey </option>
  <option value="4" selected> Max </option>
  <option value="5" selected> Firebot </option>
 </select>
</p>

有时,用户必须选择一个或多个项目。此示例显示了这样的界面。

<label>
 Select the songs from that you would like on your Act II Mix Tape:
 <select multiple required name="act2">
  <option value="s1">It Sucks to Be Me (Reprise)
  <option value="s2">There is Life Outside Your Apartment
  <option value="s3">The More You Ruv Someone
  <option value="s4">Schadenfreude
  <option value="s5">I Wish I Could Go Back to College
  <option value="s6">The Money Song
  <option value="s7">School for Monsters
  <option value="s8">The Money Song (Reprise)
  <option value="s9">There's a Fine, Fine Line (Reprise)
  <option value="s10">What Do You Do With a B.A. in English? (Reprise)
  <option value="s11">For Now
 </select>
</label>

偶尔,使用分隔符会很有用。

<label>
 Select the song to play next:
 <select required name="next">
  <option value="sr">Random
  <hr>
  <option value="s1">It Sucks to Be Me (Reprise)
  <option value="s2">There is Life Outside Your Apartment
  …

4.10.8 datalist 元素

Element/datalist

Firefox🔰 4+Safari12.1+Chrome20+
Opera9.5+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android🔰 79+Safari iOS?Chrome Android33+WebView Android?Samsung Internet?Opera Android?

HTMLDataListElement

所有当前引擎均支持。

Firefox4+Safari12.1+Chrome20+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android4.4.3+Samsung Internet?Opera Android12.1+
类别:
流内容.
短语内容.
可以使用此元素的上下文:
在预期短语内容 的位置。
内容模型:
或者:短语内容
或者:零个或多个option支持脚本 的元素。
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLDataListElement : HTMLElement {
  [HTMLConstructor] constructor();

  [SameObject] readonly attribute HTMLCollection options;
};

datalist 元素表示一组option 元素,这些元素代表其他控件的预定义选项。在渲染中,datalist 元素表示 没有内容,它及其子元素应该被隐藏。

datalist 元素可以以两种方式使用。在最简单的情况下,datalist 元素只有option 元素作为子元素。

<label>
 Animal:
 <input name=animal list=animals>
 <datalist id=animals>
  <option value="Cat">
  <option value="Dog">
 </datalist>
</label>

在更复杂的情况下,可以为不支持datalist 的低版本客户端提供datalist 元素的内容,以便显示。在这种情况下,option 元素位于datalist 元素内的select 元素内部。

<label>
 Animal:
 <input name=animal list=animals>
</label>
<datalist id=animals>
 <label>
  or select from the list:
  <select name=animal>
   <option value="">
   <option>Cat
   <option>Dog
  </select>
 </label>
</datalist>

datalist 元素通过input 元素上的list 属性与input 元素连接。

每个option 元素是datalist 元素的后代,且未禁用,并且其是字符串且不是空字符串,表示一个建议。每个建议都有一个 和一个标签

datalist.options

返回HTMLCollection,其中包含datalist 元素的option 元素。

options IDL 属性必须返回一个HTMLCollection,该集合以datalist 节点为根,其过滤器匹配option 元素。

约束验证:如果元素具有datalist 元素祖先,则它被禁止进行约束验证

4.10.9 optgroup 元素

Element/optgroup

所有当前引擎均支持。

Firefox1+Safari4+Chrome1+
Opera?Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

HTMLOptGroupElement

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+
类别:
无。
可以使用此元素的上下文:
作为select 元素的子元素。
内容模型:
零个或多个option支持脚本 的元素。
text/html 中的标签省略:
如果optgroup 元素紧跟在另一个optgroup 元素之后,或者紧跟在hr 元素之后,或者父元素中没有更多内容,则可以省略optgroup 元素的结束标签
内容属性:
全局属性
disabled — 表单控件是否禁用
label — 用户可见标签
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLOptGroupElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute boolean disabled;
  [CEReactions] attribute DOMString label;
};

optgroup 元素表示 一组具有公共标签的option 元素。

optgroup 元素的option 元素组由option 元素组成,这些元素是optgroup 元素的子元素。

select 元素中显示option 元素时,用户代理应将此类组的option 元素显示为彼此相关,并且与其他option 元素分开。

Attributes/disabled

所有当前引擎均支持。

Firefox1+Safari4+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer8+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

disabled 属性是一个 布尔属性,可用于 禁用 一组 option 元素。

label 属性必须指定。其值用于用户界面中指定组的名称。用户代理应在 select 元素中为这组 option 元素设置标签时使用此属性的值。

disabledlabel 属性必须 反映 同名内容属性。

无法选择 optgroup 元素。只有 option 元素才能被选中。optgroup 元素仅为一组 option 元素提供标签。

以下代码片段展示了如何在 select 下拉列表控件中提供来自三个课程的一组课程。

<form action="courseselector.dll" method="get">
 <p>Which course would you like to watch today?
 <p><label>Course:
  <select name="c">
   <optgroup label="8.01 Physics I: Classical Mechanics">
    <option value="8.01.1">Lecture 01: Powers of Ten
    <option value="8.01.2">Lecture 02: 1D Kinematics
    <option value="8.01.3">Lecture 03: Vectors
   <optgroup label="8.02 Electricity and Magnetism">
    <option value="8.02.1">Lecture 01: What holds our world together?
    <option value="8.02.2">Lecture 02: Electric Field
    <option value="8.02.3">Lecture 03: Electric Flux
   <optgroup label="8.03 Physics III: Vibrations and Waves">
    <option value="8.03.1">Lecture 01: Periodic Phenomenon
    <option value="8.03.2">Lecture 02: Beats
    <option value="8.03.3">Lecture 03: Forced Oscillations with Damping
  </select>
 </label>
 <p><input type=submit value="▶ Play">
</form>

4.10.10 option 元素

元素/选项

所有当前引擎均支持。

Firefox1+Safari4+Chrome1+
Opera?Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

HTMLOptionElement

所有当前引擎均支持。

Firefox1+Safari1.2+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+
类别:
无。
可以使用此元素的上下文:
作为 select 元素的子元素。
作为 datalist 元素的子元素。
作为 optgroup 元素的子元素。
内容模型:
如果元素具有 label 属性和 value 属性:
如果元素具有 label 属性但没有 value 属性:文本
如果元素没有 label 属性且不是 datalist 元素的子元素:文本,不包括 元素间空白符
如果元素没有 label 属性且是 datalist 元素的子元素:文本
text/html 中的标签省略:
如果 option 元素紧跟在另一个 option 元素之后,紧跟在 optgroup 元素之后,紧跟在 hr 元素之后,或者父元素中没有更多内容,则可以省略 option 元素的 结束标签
内容属性:
全局属性
disabled — 表单控件是否被禁用
label — 用户可见标签
selected — 选项是否默认选中
value — 用于 表单提交 的值
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window,
 LegacyFactoryFunction=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)]
interface HTMLOptionElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute boolean disabled;
  readonly attribute HTMLFormElement? form;
  [CEReactions] attribute DOMString label;
  [CEReactions] attribute boolean defaultSelected;
  attribute boolean selected;
  [CEReactions] attribute DOMString value;

  [CEReactions] attribute DOMString text;
  readonly attribute long index;
};

option 元素表示 select 元素中的选项,或作为 datalist 元素中建议列表的一部分。

select 元素定义中描述的某些情况下,option 元素可以是 select 元素的 占位符标签选项占位符标签选项 不表示实际的选项,而是表示 select 控件的标签。

Attributes/disabled

所有当前引擎均支持。

Firefox1+Safari4+Chrome1+
Opera?Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

disabled 属性是一个 布尔属性。如果 option 元素的 disabled 属性存在,或者它是 optgroup 元素(其 disabled 属性存在)的子元素,则该元素被 禁用

禁用option 元素必须阻止在 用户交互任务源 上排队的 click 事件分派到该元素上。

label 属性为元素提供标签。option 元素的 标签label 内容属性的值(如果存在且其值不是空字符串),否则为元素的 text IDL 属性的值。

如果指定了 label 内容属性,则其值不得为空。

value 属性为元素提供值。option 元素的 value 内容属性的值(如果存在),否则为元素的 text IDL 属性的值。

selected 属性是一个 布尔属性。它表示元素的默认 选中状态

option 元素的 脏状态 是一个布尔状态,初始值为 false。它控制添加或删除 selected 内容属性是否会产生任何影响。

option 元素的 选中状态 是一个布尔状态,初始值为 false。除非另有说明,否则在创建元素时,如果元素具有 selected 属性,则其 选中状态 必须设置为 true。每当向 option 元素添加 selected 属性时,如果其 脏状态 为 false,则其 选中状态 必须设置为 true。每当从 option 元素中移除 selected 属性时,如果其 脏状态 为 false,则其 选中状态 必须设置为 false。

当使用三个或更少的参数调用 Option() 构造函数时,即使第三个参数为 true(表示要设置 selected 属性),它也会覆盖 选中状态 的初始状态,使其始终为 false。在使用构造函数时,可以使用第四个参数显式设置初始 选中状态

如果未指定 select 元素的 multiple 属性,则其后代 option 元素中设置了 selected 属性的元素不得多于一个。

option 元素的 索引 是在同一 选项列表 中但在 树序 中位于其之前的 option 元素的数量。如果 option 元素不在 选项列表 中,则该元素的 索引 为零。

option.selected

如果元素被选中,则返回 true,否则返回 false。

可以设置,以覆盖元素的当前状态。

option.index

返回元素在其 select 元素的 options 列表中的索引。

option.form

返回元素的 form 元素(如果存在),否则返回 null。

option.text

textContent 相同,但会折叠空格并跳过 script 元素。

option = new Option([ text [, value [, defaultSelected [, selected ] ] ] ])

HTMLOptionElement/Option

所有当前引擎均支持。

Firefox1+Safari1.2+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

返回一个新的 option 元素。

text 参数设置元素的内容。

value 参数设置 value 属性。

defaultSelected 参数设置 selected 属性。

selected 参数被设置时,它决定了元素是否被选中。如果省略了该参数,即使 defaultSelected 参数为真,元素也不会被选中。

disabled IDL 属性必须 反映 同名内容属性。defaultSelected IDL 属性必须 反映 selected 内容属性。

label IDL 属性在获取时,如果存在 label 内容属性,则必须返回该属性的值;否则,必须返回元素的 标签。在设置时,元素的 label 内容属性必须设置为新值。

value IDL 属性在获取时,必须返回元素的 。在设置时,元素的 value 内容属性必须设置为新值。

selected IDL 属性在获取时,如果元素的 选中状态 为真,则必须返回真,否则返回假。在设置时,它必须将元素的 选中状态 设置为新值,将其 脏标记 设置为真,然后使元素 请求重置

index IDL 属性必须返回元素的 索引

text IDL 属性在获取时,必须返回从 option 元素的所有 Text 节点后代的 数据 的连接中 去除和折叠 ASCII 空格 的结果,按照 树的顺序,排除任何本身是 scriptSVG script 元素的 option 元素的后代的后代。

text 属性的设置器必须 用给定的值替换此元素中的所有内容。

form IDL 属性的行为取决于 option 元素是否在 select 元素中。如果 option 元素的父元素是 select 元素,或者父元素是 optgroup 元素且该 optgroup 元素的父元素是 select 元素,则 form IDL 属性必须返回与该 select 元素上的 form IDL 属性相同的值。否则,它必须返回 null。

除了 DOM 中的工厂方法(如 createElement())之外,还提供了一个用于创建 HTMLOptionElement 对象的遗留工厂函数:Option(text, value, defaultSelected, selected)。当被调用时,遗留工厂函数必须执行以下步骤

  1. document当前全局对象关联的 Document

  2. option 为给定 documentoptionHTML 命名空间创建元素 的结果。

  3. 如果 text 不是空字符串,则将一个新的 Text 节点追加到 option,其数据为 text

  4. 如果提供了 value,则使用 "value"valueoption 设置属性值

  5. 如果 defaultSelected 为真,则使用 "selected" 和空字符串为 option 设置属性值

  6. 如果 selected 为真,则将 option选中状态 设置为真;否则将其 选中状态 设置为假(即使 defaultSelected 为真)。

  7. 返回 option

4.10.11 textarea 元素

元素/textarea

所有当前引擎均支持。

Firefox1+Safari4+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

HTMLTextAreaElement

所有当前引擎均支持。

Firefox1+Safari1+Chrome1+
Opera8+Edge79+
Edge (Legacy)12+Internet Explorer5+
Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+
类别:
流内容.
短语内容.
交互式内容.
已列出可标记可提交可重置,以及 继承自动大写和小写表单关联元素
可感知内容.
可以使用此元素的上下文:
在预期 短语内容 的地方。
内容模型:
文本.
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
autocomplete — 表单自动填充功能的提示
cols — 每行的最大字符数
dirname — 用于发送元素 方向性 的表单控件的名称,用于 表单提交
disabled — 表单控件是否被禁用
form — 将元素与 form 元素关联
maxlength — 值的最大 长度
minlength — 值的最小 长度
name — 用于 表单提交form.elements API 的元素名称
placeholder — 要放置在表单控件内的用户可见标签
readonly — 是否允许用户编辑值
required — 控件是否需要 表单提交
rows — 要显示的行数
wrap — 如何为 表单提交 包装表单控件的值
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLTextAreaElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute DOMString autocomplete;
  [CEReactions] attribute unsigned long cols;
  [CEReactions] attribute DOMString dirName;
  [CEReactions] attribute boolean disabled;
  readonly attribute HTMLFormElement? form;
  [CEReactions] attribute long maxLength;
  [CEReactions] attribute long minLength;
  [CEReactions] attribute DOMString name;
  [CEReactions] attribute DOMString placeholder;
  [CEReactions] attribute boolean readOnly;
  [CEReactions] attribute boolean required;
  [CEReactions] attribute unsigned long rows;
  [CEReactions] attribute DOMString wrap;

  readonly attribute DOMString type;
  [CEReactions] attribute DOMString defaultValue;
  attribute [LegacyNullToEmptyString] DOMString value;
  readonly attribute unsigned long textLength;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  boolean reportValidity();
  undefined setCustomValidity(DOMString error);

  readonly attribute NodeList labels;

  undefined select();
  attribute unsigned long selectionStart;
  attribute unsigned long selectionEnd;
  attribute DOMString selectionDirection;
  undefined setRangeText(DOMString replacement);
  undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
  undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
};

textarea 元素 表示 元素 原始值 的多行纯文本编辑控件。控件的内容表示控件的默认值。

textarea 控件的 原始值 必须最初为空字符串。

此元素 具有涉及双向算法的渲染要求

readonly 属性是一个 布尔属性,用于控制用户是否可以编辑文本。

在此示例中,文本控件被标记为只读,因为它表示只读文件。

Filename: <code>/etc/bash.bashrc</code>
<textarea name="buffer" readonly>
# System-wide .bashrc file for interactive bash(1) shells.

# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.

# If not running interactively, don't do anything
[ -z "$PS1" ] &amp;&amp; return

...</textarea>

**约束验证**:如果在 textarea 元素上指定了 readonly 属性,则该元素 被禁止进行约束验证

如果 textarea 元素既未 禁用 也未指定 readonly 属性,则它是 可变的

当一个`textarea` 元素是 可变的时,其原始值 应该能够被用户编辑:用户代理应该允许用户编辑、插入和删除文本,以及以 U+000A 换行符 (LF) 的形式插入和删除换行符。任何时候用户导致元素的原始值 发生改变,用户代理必须在用户交互任务源排队一个元素任务,以便在`textarea` 元素上触发一个名为 `input` 的事件,并将`bubbles` 和`composed` 属性初始化为 true。用户代理可以在用户交互的合适间隙排队任务;例如,用户代理可以等待用户 100 毫秒内没有按键,以便仅在用户暂停时触发事件,而不是连续地为每个按键触发事件。

一个`textarea` 元素的脏值标志 必须在用户以改变原始值 的方式与控件交互时设置为 true。

对于`textarea` 元素的克隆步骤 必须将原始值脏值标志 从正在克隆的节点传播到副本。

对于`textarea` 元素的子节点更改步骤 必须在元素的脏值标志 为 false 时,将其原始值 设置为其子节点文本内容

对于`textarea` 元素的重置算法 是将用户有效性 设置为 false,脏值标志 恢复为 false,并将元素的原始值 设置为其子节点文本内容

当一个`textarea` 元素从打开元素栈 中弹出HTML 解析器XML 解析器 时,用户代理必须调用元素的重置算法

如果元素是可变的,用户代理应该允许用户更改元素的书写方向,将其设置为从左到右的书写方向或从右到左的书写方向。如果用户这样做,用户代理必须运行以下步骤

  1. 如果用户选择了从左到右的书写方向,则将元素的`dir` 属性设置为“`ltr”;如果用户选择了从右到左的书写方向,则设置为“`rtl” 。

  2. 在用户交互任务源排队一个元素任务,以便在`textarea` 元素上触发一个名为 `input` 的事件,并将`bubbles` 和`composed` 属性初始化为 true。

cols 属性指定每行预期的最大字符数。如果指定了`cols` 属性,则其值必须是大于零的有效非负整数。如果将解析非负整数的规则 应用于属性的值,结果得到一个大于零的数字,则元素的字符宽度 为该值;否则,为 20。

用户代理可以使用`textarea` 元素的字符宽度 作为提示,告知用户服务器每行首选多少个字符(例如,对于可视化用户代理,通过使控件的宽度为那么多字符)。在可视化渲染中,用户代理应包装用户在渲染中的输入,以便每行不宽于此字符数。

rows 属性指定要显示的行数。如果指定了`rows` 属性,则其值必须是大于零的有效非负整数。如果将解析非负整数的规则 应用于属性的值,结果得到一个大于零的数字,则元素的字符高度 为该值;否则,为 2。

可视化用户代理应将控件的高度设置为由字符高度 给出的行数。

wrap 属性是一个具有以下关键字和状态的枚举属性

关键字状态简要描述
soft Soft 提交时不换行(尽管在渲染中仍然可以换行)。
hard Hard 文本需要由用户代理添加换行符,以便在提交时换行。

属性的缺失值默认值无效值默认值 都是Soft 状态。

如果元素的`wrap` 属性处于Hard 状态,则必须指定`cols` 属性。

出于历史原因,元素的值以三种不同的方式针对三种不同的目的进行了规范化。 原始值 是最初设置的值。它没有被规范化。 API 值 是在`value` IDL 属性、`textLength` IDL 属性以及`maxlength` 和`minlength` 内容属性中使用的值。它被规范化为换行符使用 U+000A 换行符 (LF) 字符。最后,还有,如本规范中表单提交和其他处理模型中所使用的那样。它与API 值 的规范化方式相同,此外,如果根据元素的`wrap` 属性需要,则会插入额外的换行符以在给定宽度处换行文本。

获取元素API 值 的算法是返回元素的原始值,并规范化换行符

元素的 定义为元素的API 值,并应用了textarea 换行转换textarea 换行转换 是以下算法,应用于字符串

  1. 如果元素的`wrap` 属性处于Hard 状态,则使用实现定义的 算法将 U+000A 换行符 (LF) 字符插入到字符串中,以便每行最多包含字符宽度 个字符。出于此要求的目的,行由字符串的开头、字符串的结尾和 U+000A 换行符 (LF) 字符分隔。

maxlength 属性是一个表单控件 maxlength 属性

如果`textarea` 元素具有最大允许值长度,则元素的子节点必须使得元素的后代文本内容 值的长度(已规范化换行符)小于或等于元素的最大允许值长度

minlength 属性是 表单控件 minlength 属性

required 属性是 布尔属性。当指定时,用户必须在提交表单前输入一个值。

约束验证:如果元素指定了 required 属性,并且元素是 可变的,并且元素的 为空字符串,则元素 处于缺失状态

placeholder 属性表示一个简短的提示(一个单词或短语),旨在在控件没有值时帮助用户输入数据。提示可以是示例值或预期格式的简要说明。

placeholder 属性不应作为 label 的替代方案。对于较长的提示或其他建议文本,title 属性更合适。

这些机制非常相似,但细微差别:控件的 label 给出的提示始终显示;placeholder 属性中给出的简短提示在用户输入值之前显示;而 title 属性中的提示在用户请求更多帮助时显示。

当元素的 为空字符串且控件未 获得焦点(例如,通过将其显示在空白的未聚焦控件内)时,用户代理应向用户显示此提示。提示中所有 U+000D 回车符 U+000A 换行符字符对(CRLF),以及提示中所有其他 U+000D 回车符 (CR) 和 U+000A 换行符 (LF) 字符,在渲染提示时都必须被视为换行符。

如果用户代理通常在控件 获得焦点 时不会向用户显示此提示,那么用户代理仍应在控件由于 autofocus 属性而获得焦点时显示该提示,因为在这种情况下,用户在聚焦控件之前没有机会检查该控件。

name 属性表示元素的名称。dirname 属性控制元素的 方向性 如何提交。disabled 属性用于使控件不可交互并阻止其值被提交。form 属性用于显式地将 textarea 元素与其 表单所有者 关联。autocomplete 属性控制用户代理如何提供自动填充行为。

textarea.type

返回字符串“textarea”。

textarea.value

返回元素的当前值。

可以设置,以更改值。

colsplaceholderrequiredrowswrap IDL 属性必须 反映 同名内容属性。colsrows 属性 仅限于正数,并有回退值cols IDL 属性的 默认值 为 20。rows IDL 属性的 默认值 为 2。dirName IDL 属性必须 反映 dirname 内容属性。maxLength IDL 属性必须 反映 maxlength 内容属性,仅限于非负数minLength IDL 属性必须 反映 minlength 内容属性,仅限于非负数readOnly IDL 属性必须 反映 readonly 内容属性。

type IDL 属性必须返回值“textarea”。

defaultValue 属性的 getter 必须返回元素的 子文本内容

defaultValue 属性的 setter 必须 用给定值替换此元素中的所有字符串

value IDL 属性在获取时必须返回元素的 API 值。在设置时,它必须执行以下步骤

  1. oldAPIValue 为此元素的 API 值

  2. 将此元素的 原始值 设置为新值。

  3. 将此元素的 脏值标志 设置为 true。

  4. 如果新的 API 值oldAPIValue 不同,则将 文本输入光标位置 移动到文本控件的末尾,取消选择任何选定的文本并 将选择方向重置 为“none”。

textLength IDL 属性必须返回元素的 API 值长度

willValidatevalidityvalidationMessage IDL 属性以及 checkValidity()reportValidity()setCustomValidity() 方法是 约束验证 API 的一部分。labels IDL 属性提供元素的 label 列表。select()selectionStartselectionEndselectionDirectionsetRangeText()setSelectionRange() 方法和 IDL 属性公开了元素的文本选择。disabledformname IDL 属性是元素的表单 API 的一部分。

以下是在表单中使用 textarea 进行不受限制的自由格式文本输入的示例

<p>If you have any comments, please let us know: <textarea cols=80 name=comments></textarea></p>

要为注释指定最大长度,可以使用 maxlength 属性

<p>If you have any short comments, please let us know: <textarea cols=80 name=comments maxlength=200></textarea></p>

要提供默认值,可以在元素内部包含文本

<p>If you have any comments, please let us know: <textarea cols=80 name=comments>You rock!</textarea></p>

您还可以指定最小长度。此处,用户需要填写一个字母;提供了一个模板(短于最小长度),但不足以提交表单

<textarea required minlength="500">Dear Madam Speaker,

Regarding your letter dated ...

...

Yours Sincerely,

...</textarea>

还可以提供一个占位符,以向用户建议基本格式,而无需提供明确的模板

<textarea placeholder="Dear Francine,

They closed the parks this week, so we won't be able to
meet your there. Should we just have dinner?

Love,
Daddy"></textarea>

要让浏览器将元素的 方向性 与值一起提交,可以指定 dirname 属性

<p>If you have any comments, please let us know (you may use either English or Hebrew for your comments):
<textarea cols=80 name=comments dirname=comments.dir></textarea></p>

4.10.12 output 元素

元素/output

所有当前引擎均支持。

Firefox4+Safari7+Chrome10+
Opera11+Edge79+


Edge (旧版)18Internet Explorer不支持
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

HTMLOutputElement

所有当前引擎均支持。

Firefox4+Safari5.1+Chrome9+
Opera12.1+Edge79+
Edge (旧版)14+Internet Explorer不支持
Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+
类别:
流内容.
短语内容.
已列出可加标签可重置,以及 继承自动大写和小写 与表单关联的元素
可感知内容.
可以使用此元素的上下文:
在预期 短语内容 的位置。
内容模型:
短语内容.
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
for — 指定计算输出结果所依据的控件
form — 将元素与 form 元素关联
name — 用于 form.elements API 中的元素名称。
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLOutputElement : HTMLElement {
  [HTMLConstructor] constructor();

  [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
  readonly attribute HTMLFormElement? form;
  [CEReactions] attribute DOMString name;

  readonly attribute DOMString type;
  [CEReactions] attribute DOMString defaultValue;
  [CEReactions] attribute DOMString value;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  boolean reportValidity();
  undefined setCustomValidity(DOMString error);

  readonly attribute NodeList labels;
};

output 元素 表示应用程序执行计算的结果或用户操作的结果。

此元素可以与 samp 元素进行对比,后者是用于引用之前运行的其他程序输出的合适元素。

属性/for

所有当前引擎均支持。

Firefox4+Safari7+Chrome10+
Opera11+Edge79+


Edge (旧版)18Internet Explorer不支持
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

for 内容属性允许在计算结果与表示输入计算的值或以其他方式影响计算的元素之间建立显式关系。如果指定了 for 属性,则其必须包含一个字符串,该字符串由 一组唯一的以空格分隔的标记 组成,这些标记都不与另一个标记 相同,并且每个标记的值都必须是同一 中元素的 ID

form 属性用于将 output 元素与其 表单所有者 显式关联。 name 属性表示元素的名称。 output 元素与表单关联,以便可以从表单控件的事件处理程序中轻松 引用 它;在提交表单时,元素的值本身不会被提交。

该元素具有 默认值覆盖(null 或字符串)。最初它必须为 null。

元素的 默认值 由以下步骤确定

  1. 如果此元素的 默认值覆盖 不为 null,则返回它。

  2. 返回此元素的 后代文本内容

output 元素的 重置算法 是执行以下步骤

  1. 使用此元素的 默认值 在此元素中 替换所有字符串

  2. 将此元素的 默认值覆盖 设置为 null。

output.value [ = value ]

返回元素的当前值。

可以设置,以更改值。

output.defaultValue [ = value ]

返回元素的当前默认值。

可以设置,以更改默认值。

output.type

返回字符串“output”。

value 获取器步骤是返回 自身后代文本内容

value 设置器步骤是

  1. 自身默认值覆盖 设置为其 默认值

  2. 使用给定值在 自身替换所有字符串

defaultValue 获取器步骤是返回运行 自身默认值 的结果。

defaultValue 设置器步骤是

  1. 如果 自身默认值覆盖 为 null,则使用给定值在 自身替换所有字符串 并返回。

  2. 自身默认值覆盖 设置为给定值。

type 获取器步骤是返回“output”。

htmlFor IDL 属性必须 反映 for 内容属性。

willValidatevalidityvalidationMessage IDL 属性以及 checkValidity()reportValidity()setCustomValidity() 方法是 约束验证 API 的一部分。 labels IDL 属性提供元素的 label 列表。 formname IDL 属性是元素的表单 API 的一部分。

一个简单的计算器可以使用 output 来显示计算结果

<form onsubmit="return false" oninput="o.value = a.valueAsNumber + b.valueAsNumber">
 <input id=a type=number step=any> +
 <input id=b type=number step=any> =
 <output id=o for="a b"></output>
</form>

在此示例中,output 元素用于报告远程服务器执行的计算结果,这些结果会陆续传入。

<output id="result"></output>
<script>
 var primeSource = new WebSocket('ws://primes.example.net/');
 primeSource.onmessage = function (event) {
   document.getElementById('result').value = event.data;
 }
</script>

4.10.13 progress 元素

元素/progress

所有当前引擎均支持。

Firefox6+Safari6+Chrome6+
Opera11+Edge79+


Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

HTMLProgressElement

所有当前引擎均支持。

Firefox6+Safari6+Chrome6+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+
类别:
流内容.
短语内容.
可加标签的元素.
可感知内容.
可以使用此元素的上下文:
在预期 短语内容 的位置。
内容模型:
短语内容,但不能有 progress 元素后代。
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
value — 元素的当前值
max — 范围的上限
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLProgressElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute double value;
  [CEReactions] attribute double max;
  readonly attribute double position;
  readonly attribute NodeList labels;
};

progress 元素 表示任务的完成进度。进度要么是不确定的,表示正在取得进展,但尚不清楚在任务完成之前还需要完成多少工作(例如,因为任务正在等待远程主机响应),要么进度是在 0 到最大值之间的数字,给出迄今为止已完成的工作的比例。

属性/max

所有当前引擎均支持。

Firefox6+Safari6+Chrome6+
Opera11+Edge79+


Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

有两个属性确定元素表示的当前任务完成情况。 value 属性指定已完成多少任务,而 max 属性指定任务总共需要多少工作。单位是任意的,未指定。

要创建确定性进度条,请添加 value 属性,其中包含当前进度(可以是从 0.0 到 1.0 的数字,或者,如果指定了 max 属性,则可以是从 0 到 max 属性值的数字)。要创建不确定性进度条,请删除 value 属性。

鼓励作者在元素内部以文本形式同时包含当前值和最大值,以便向旧版用户代理的用户提供进度信息。

下面是一个 Web 应用程序片段,它显示了一些自动化任务的进度。

<section>
 <h2>Task Progress</h2>
 <p>Progress: <progress id=p max=100><span>0</span>%</progress></p>
 <script>
  var progressBar = document.getElementById('p');
  function updateProgress(newValue) {
    progressBar.value = newValue;
    progressBar.getElementsByTagName('span')[0].textContent = newValue;
  }
 </script>
</section>

(此示例中的 updateProgress() 方法将由页面上的其他代码调用,以在任务执行过程中更新实际的进度条。)

当存在时,valuemax 属性必须具有 有效的浮点数 值。value 属性(如果存在)的值必须大于或等于零,并且小于或等于 max 属性的值(如果存在),否则小于或等于 1.0。max 属性(如果存在)的值必须大于零。

对于仅用作量规而不是任务进度的内容,progress 元素是不正确的选择。例如,使用 progress 来指示磁盘空间使用情况是不合适的。对于此类用例,可以使用 meter 元素。

用户代理要求:如果省略了 value 属性,则进度条为不确定进度条。否则,它为确定进度条。

如果进度条为确定进度条且元素具有 max 属性,则用户代理必须根据 浮点数解析规则 解析 max 属性的值。如果这不会导致错误,并且如果解析后的值大于零,则进度条的 最大值 为该值。否则,如果元素没有 max 属性,或者如果它有一个但解析它导致错误,或者如果解析后的值小于或等于零,则进度条的 最大值 为 1.0。

如果进度条为确定进度条,则用户代理必须根据 浮点数解析规则 解析 value 属性的值。如果这不会导致错误且解析后的值大于零,则进度条的 为该解析后的值。否则,如果解析 value 属性的值导致错误或小于或等于零的数字,则进度条的 为零。

如果进度条为确定进度条,则 当前值最大值(如果 大于 最大值),否则为

显示进度条的 UA 要求:当向用户呈现 progress 元素时,UA 应指示它是确定进度条还是不确定进度条,并且在前一种情况下,应指示 当前值 相对于 最大值 的相对位置。

progress.position

对于确定进度条(具有已知当前值和最大值的进度条),返回当前值除以最大值的结果。

对于不确定进度条,返回 -1。

如果进度条为不确定进度条,则 position IDL 属性必须返回 -1。否则,它必须返回当前值除以最大值的结果。

如果进度条为不确定进度条,则 value IDL 属性在获取时必须返回 0。否则,它必须返回 当前值。在设置时,给定值必须转换为 数字的最佳浮点数表示形式,然后 value 内容属性必须设置为该字符串。

当相应的 content 属性不存在时,将 value IDL 属性设置为自身会将进度条从不确定进度条更改为没有进度的确定进度条。

max IDL 属性必须 反映 同名内容属性,仅限于正数max默认值 为 1.0。

labels IDL 属性提供元素的 label 列表。

4.10.14 meter 元素

元素/meter

所有当前引擎均支持。

Firefox16+Safari6+Chrome6+
Opera11+Edge79+


Edge (旧版)18Internet Explorer不支持
Firefox Android?Safari iOS10.3+Chrome Android?WebView AndroidSamsung Internet?Opera Android11+

HTMLMeterElement

所有当前引擎均支持。

Firefox16+Safari6+Chrome6+
Opera11+Edge79+


Edge (旧版)12+Internet Explorer不支持
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+
类别:
流内容.
短语内容.
可加标签的元素.
可感知内容.
可以使用此元素的上下文:
在预期 短语内容 的地方。
内容模型:
短语内容,但不能有 meter 元素后代。
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
value — 元素的当前值
min — 范围的下限
max — 范围的上限
low — 低范围的高限
high — 高范围的低限
optimum — 量规中的最佳值
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLMeterElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute double value;
  [CEReactions] attribute double min;
  [CEReactions] attribute double max;
  [CEReactions] attribute double low;
  [CEReactions] attribute double high;
  [CEReactions] attribute double optimum;
  readonly attribute NodeList labels;
};

meter 元素 表示 已知范围内的标量测量值或分数值;例如磁盘使用情况、查询结果的相关性或选定特定候选人的投票人群的分数。

这也被称为量规。

meter 元素不应用于指示进度(如进度条)。对于该角色,HTML 提供了一个单独的 progress 元素。

meter 元素也不表示任意范围的标量值——例如,除非有已知最大值,否则使用它来报告重量或高度是不正确的。

有六个属性决定了元素表示的量规的语义。

属性/max

所有当前引擎均支持。

Firefox16+Safari6+Chrome6+
Opera11+Edge79+


Edge (旧版)18Internet Explorer不支持
Firefox Android?Safari iOS10.3+Chrome Android?WebView AndroidSamsung Internet?Opera Android11+

属性/min

所有当前引擎均支持。

Firefox16+Safari6+Chrome6+
Opera11+Edge79+


Edge (旧版)18Internet Explorer不支持
Firefox Android?Safari iOS10.3+Chrome Android?WebView AndroidSamsung Internet?Opera Android11+

min 属性指定范围的下限,max 属性指定范围的上限。value 属性指定量规指示为“测量”值的值。

其他三个属性可用于将量规的范围划分为“低”、“中”和“高”部分,并指示量规的哪个部分是“最佳”部分。low 属性指定被认为是“低”范围的范围,high 属性指定被认为是“高”范围的范围。optimum 属性给出“最佳”的位置;如果它高于“高”值,则表示值越高越好;如果它低于“低”标记,则表示值越低越好,当然,如果它在两者之间,则表示高值和低值都不好。

创作要求:必须指定 value 属性。valueminlowhighmaxoptimum 属性(如果存在)必须具有 有效的浮点数 值。

此外,属性的值还受到进一步的限制。

valuevalue 属性的数字。

如果指定了 min 属性,则令 minimum 为该属性的值;否则,令其为零。

如果指定了 max 属性,则令 maximum 为该属性的值;否则,令其为 1.0。

以下不等式必须成立(如适用)。

如果没有指定最小值或最大值,则假定范围为 0..1,因此值必须在此范围内。

鼓励作者在元素内容中包含仪表状态的文本表示,以便不支持meter元素的用户代理的用户使用。

当与微数据一起使用时,meter元素的value属性提供了元素的机器可读值。

以下示例显示了三个仪表,它们都将填充四分之三。

Storage space usage: <meter value=6 max=8>6 blocks used (out of 8 total)</meter>
Voter turnout: <meter value=0.75><img alt="75%" src="graph75.png"></meter>
Tickets sold: <meter min="0" max="100" value="75"></meter>

以下示例是元素的错误用法,因为它没有给出范围(并且由于默认最大值为 1,因此两个仪表最终看起来都将达到最大值)。

<p>The grapefruit pie had a radius of <meter value=12>12cm</meter>
and a height of <meter value=2>2cm</meter>.</p> <!-- BAD! -->

相反,要么不包含 meter 元素,要么使用具有已定义范围的 meter 元素,以便在与其他饼图相比时提供上下文中尺寸。

<p>The grapefruit pie had a radius of 12cm and a height of
2cm.</p>
<dl>
 <dt>Radius: <dd> <meter min=0 max=20 value=12>12cm</meter>
 <dt>Height: <dd> <meter min=0 max=10 value=2>2cm</meter>
</dl>

meter元素中没有明确指定单位的方式,但可以在title属性中以自由格式文本指定单位。

上面的例子可以扩展到提到单位。

<dl>
 <dt>Radius: <dd> <meter min=0 max=20 value=12 title="centimeters">12cm</meter>
 <dt>Height: <dd> <meter min=0 max=10 value=2 title="centimeters">2cm</meter>
</dl>

用户代理要求:用户代理必须使用解析浮点数规则解析minmaxvaluelowhighoptimum属性。

然后,用户代理必须使用所有这些数字为仪表上的六个点获取值,如下所示。(这些评估的顺序很重要,因为某些值引用了较早的值。)

最小值

如果指定了min属性并且可以从中解析出值,则最小值为该值。否则,最小值为零。

最大值

如果指定了max属性并且可以从中解析出值,则候选最大值为该值。否则,候选最大值为 1.0。

如果候选最大值大于或等于最小值,则最大值为候选最大值。否则,最大值与最小值相同。

实际值

如果指定了value属性并且可以从中解析出值,则该值为候选实际值。否则,候选实际值为零。

如果候选实际值小于最小值,则实际值为最小值。

否则,如果候选实际值大于最大值,则实际值为最大值。

否则,实际值为候选实际值。

下界

如果指定了low属性并且可以从中解析出值,则候选下界为该值。否则,候选下界与最小值相同。

如果候选下界小于最小值,则下界为最小值。

否则,如果候选下界大于最大值,则下界为最大值。

否则,下界为候选下界。

上界

如果指定了high属性并且可以从中解析出值,则候选上界为该值。否则,候选上界与最大值相同。

如果候选上界小于下界,则上界为下界。

否则,如果候选上界大于最大值,则上界为最大值。

否则,上界为候选上界。

最佳点

如果指定了optimum属性并且可以从中解析出值,则候选最佳点为该值。否则,候选最佳点为最小值和最大值之间的中点。

如果候选最佳点小于最小值,则最佳点为最小值。

否则,如果候选最佳点大于最大值,则最佳点为最大值。

否则,最佳点为候选最佳点。

所有这些都将导致以下不等式全部为真

用户代理对仪表区域的要求:如果最佳点等于下界或上界,或介于两者之间,则仪表的下界和上界之间的区域必须被视为最佳区域,而下部和上部(如果有)必须被视为次优区域。否则,如果最佳点小于下界,则最小值和下界之间的区域必须被视为最佳区域,从下界到上界的区域必须被视为次优区域,其余区域必须被视为更差的区域。最后,如果最佳点高于上界,则情况相反;上界和最大值之间的区域必须被视为最佳区域,从上界到下界的区域必须被视为次优区域,其余区域必须被视为更差的区域。

用户代理显示仪表的必要条件:当向用户显示meter元素时,用户代理应指示实际值相对于最小值和最大值的位置,以及实际值与仪表三个区域之间的关系。

以下标记

<h3>Suggested groups</h3>
<menu>
 <li><a href="?cmd=hsg" onclick="hideSuggestedGroups()">Hide suggested groups</a></li>
</menu>
<ul>
 <li>
  <p><a href="/group/comp.infosystems.www.authoring.stylesheets/view">comp.infosystems.www.authoring.stylesheets</a> -
     <a href="/group/comp.infosystems.www.authoring.stylesheets/subscribe">join</a></p>
  <p>Group description: <strong>Layout/presentation on the WWW.</strong></p>
  <p><meter value="0.5">Moderate activity,</meter> Usenet, 618 subscribers</p>
 </li>
 <li>
  <p><a href="/group/netscape.public.mozilla.xpinstall/view">netscape.public.mozilla.xpinstall</a> -
     <a href="/group/netscape.public.mozilla.xpinstall/subscribe">join</a></p>
  <p>Group description: <strong>Mozilla XPInstall discussion.</strong></p>
  <p><meter value="0.25">Low activity,</meter> Usenet, 22 subscribers</p>
 </li>
 <li>
  <p><a href="/group/mozilla.dev.general/view">mozilla.dev.general</a> -
     <a href="/group/mozilla.dev.general/subscribe">join</a></p>
  <p><meter value="0.25">Low activity,</meter> Usenet, 66 subscribers</p>
 </li>
</ul>

可能呈现如下

With the <meter> elements rendered as inline green bars of varying lengths.

用户代理可以结合title属性和其他属性的值,提供上下文相关的帮助或内联文本,详细说明实际值。

例如,以下代码段

<meter min=0 max=60 value=23.2 title=seconds></meter>

…可能会导致用户代理显示一个仪表,并在第一行显示“值:23.2 / 60”,在第二行显示“秒”。

value IDL 属性在获取时必须返回实际值。在设置时,给定值必须转换为数字的最佳浮点数表示形式,然后value内容属性必须设置为该字符串。

min IDL 属性在获取时必须返回最小值。在设置时,给定值必须转换为数字的最佳浮点数表示形式,然后min内容属性必须设置为该字符串。

max IDL 属性在获取时必须返回最大值。在设置时,给定值必须转换为数字的最佳浮点数表示形式,然后max内容属性必须设置为该字符串。

low IDL 属性在获取时必须返回下界。在设置时,给定值必须转换为数字的最佳浮点数表示形式,然后low内容属性必须设置为该字符串。

high IDL 属性在获取时必须返回上界。在设置时,给定值必须转换为数字的最佳浮点数表示形式,然后high内容属性必须设置为该字符串。

optimum IDL 属性在获取时必须返回最佳值。在设置时,给定值必须转换为数字的最佳浮点数表示形式,然后optimum内容属性必须设置为该字符串。

labels IDL 属性提供元素label列表。

以下示例显示了仪表如何回退到本地化或美化后的文本。

<p>Disk usage: <meter min=0 value=170261928 max=233257824>170 261 928 bytes used
out of 233 257 824 bytes available</meter></p>

4.10.15 fieldset 元素

元素/fieldset

所有当前引擎均支持。

Firefox1+Safari4+Chrome1+
Opera15+Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+

HTMLFieldSetElement

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge(旧版)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+
类别:
流内容.
列出自动大写和小写继承表单关联元素
可感知内容.
可以使用此元素的上下文:
在预期流内容的地方。
内容模型:
可选地为legend元素,然后为流内容
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
disabled — 后代表单控件(除了legend内的任何控件)是否禁用
form — 将元素与form元素关联
name — 在form.elements API 中使用的元素名称。
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLFieldSetElement : HTMLElement {
  [HTMLConstructor] constructor();

  [CEReactions] attribute boolean disabled;
  readonly attribute HTMLFormElement? form;
  [CEReactions] attribute DOMString name;

  readonly attribute DOMString type;

  [SameObject] readonly attribute HTMLCollection elements;

  readonly attribute boolean willValidate;
  [SameObject] readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  boolean reportValidity();
  undefined setCustomValidity(DOMString error);
};

fieldset元素表示一组分组在一起的表单控件(或其他内容),可以选择标题。标题由legend元素(如果存在)的第一个子元素给出,该元素是fieldset元素的子元素。其余的后代形成该组。

元素/fieldset#attr-disabled

所有当前引擎均支持。

Firefox4+Safari6+Chrome20+
Opera12+Edge79+
Edge(旧版)12+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

当指定disabled属性时,它会导致fieldset元素的所有表单控件后代(不包括fieldset元素的第一个legend元素子节点的后代,如果有的话)被禁用

如果fieldset元素满足以下任何条件,则它就是一个禁用的 fieldset

form属性用于显式地将fieldset元素与其表单所有者关联。name属性表示元素的名称。

fieldset.type

返回字符串“fieldset”。

fieldset.elements

返回元素中表单控件的HTMLCollection

disabled IDL 属性必须反映同名内容属性。

type IDL 属性必须返回字符串“fieldset”。

elements IDL 属性必须返回一个以fieldset元素为根的HTMLCollection,其过滤器匹配列出的元素

willValidatevalidityvalidationMessage属性,以及checkValidity()reportValidity()setCustomValidity()方法,是约束验证 API的一部分。formname IDL 属性是元素的表单 API 的一部分。

此示例显示了fieldset元素用于对一组相关控件进行分组。

<fieldset>
 <legend>Display</legend>
 <p><label><input type=radio name=c value=0 checked> Black on White</label>
 <p><label><input type=radio name=c value=1> White on Black</label>
 <p><label><input type=checkbox name=g> Use grayscale</label>
 <p><label>Enhance contrast <input type=range name=e list=contrast min=0 max=100 value=0 step=1></label>
 <datalist id=contrast>
  <option label=Normal value=0>
  <option label=Maximum value=100>
 </datalist>
</fieldset>

以下代码片段显示了一个 fieldset,其图例中包含一个复选框,用于控制 fieldset 是否启用。fieldset 的内容包含两个必填文本控件和一个可选的年/月控件。

<fieldset name="clubfields" disabled>
 <legend> <label>
  <input type=checkbox name=club onchange="form.clubfields.disabled = !checked">
  Use Club Card
 </label> </legend>
 <p><label>Name on card: <input name=clubname required></label></p>
 <p><label>Card number: <input name=clubnum required pattern="[-0-9]+"></label></p>
 <p><label>Expiry date: <input name=clubexp type=month></label></p>
</fieldset>

您还可以嵌套fieldset元素。这是一个扩展先前示例的嵌套示例。

<fieldset name="clubfields" disabled>
 <legend> <label>
  <input type=checkbox name=club onchange="form.clubfields.disabled = !checked">
  Use Club Card
 </label> </legend>
 <p><label>Name on card: <input name=clubname required></label></p>
 <fieldset name="numfields">
  <legend> <label>
   <input type=radio checked name=clubtype onchange="form.numfields.disabled = !checked">
   My card has numbers on it
  </label> </legend>
  <p><label>Card number: <input name=clubnum required pattern="[-0-9]+"></label></p>
 </fieldset>
 <fieldset name="letfields" disabled>
  <legend> <label>
   <input type=radio name=clubtype onchange="form.letfields.disabled = !checked">
   My card has letters on it
  </label> </legend>
  <p><label>Card code: <input name=clublet required pattern="[A-Za-z]+"></label></p>
 </fieldset>
</fieldset>

在此示例中,如果外部“使用俱乐部卡”复选框未选中,则外部fieldset内的所有内容(包括两个嵌套fieldset图例中的两个单选按钮)都将被禁用。但是,如果选中复选框,则这两个单选按钮都将启用,并允许您选择要启用这两个内部fieldset中的哪一个。

此示例显示了控件的分组,其中legend元素既标记分组,又使嵌套的标题元素在文档大纲中显示分组。

<fieldset>
 <legend> <h2>
  How can we best reach you?
 </h2> </legend>
 <p> <label>
 <input type=radio checked name=contact_pref>
  Phone
 </label> </p>
 <p> <label>
  <input type=radio name=contact_pref>
  Text
 </label> </p>
 <p> <label>
  <input type=radio name=contact_pref>
  Email
 </label> </p>
</fieldset>

4.10.16 legend 元素

元素/legend

所有当前引擎均支持。

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge (旧版)12+Internet Explorer6+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

HTMLLegendElement

所有当前引擎均支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (旧版)12+Internet Explorer6+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+
类别:
无。
可以使用此元素的上下文:
作为fieldset元素的第一个子节点
内容模型:
短语内容,可以选择与标题内容混合使用。
text/html 中的标签省略:
两个标签都不能省略。
内容属性:
全局属性
可访问性注意事项:
针对作者.
针对实现者.
DOM 接口:
[Exposed=Window]
interface HTMLLegendElement : HTMLElement {
  [HTMLConstructor] constructor();

  readonly attribute HTMLFormElement? form;

  // also has obsolete members
};

legend元素表示legend元素的父fieldset元素(如果有)其余内容的标题。

legend.form

返回元素的form元素(如果有),否则返回 null。

form IDL 属性的行为取决于legend元素是否在fieldset元素中。如果legend的父元素是fieldset元素,则form IDL 属性必须返回与该fieldset元素上的form IDL 属性相同的值。否则,它必须返回 null。