动态标准 — 最后更新于 2024年9月12日
button
元素所有当前引擎均支持。
所有当前引擎均支持。
tabindex
属性。disabled
— 表单控件是否已禁用form
— 将元素与form
元素关联formaction
— 用于表单提交的URLformenctype
— 用于表单提交的条目列表编码类型formmethod
— 用于表单提交的变体formnovalidate
— 绕过表单控件验证以进行表单提交formtarget
— 用于表单提交的可导航name
— 用于表单提交以及在form.elements
API 中使用的元素名称popovertarget
— 目标弹出窗口元素以切换、显示或隐藏popovertargetaction
— 指示目标弹出窗口元素是否要切换、显示或隐藏type
— 按钮类型value
— 用于表单提交的值[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 ;
该元素是一个按钮。
type
属性控制激活按钮时的行为。它是一个具有以下关键字和状态的枚举属性
关键字 | 状态 | 简要描述 |
---|---|---|
submit
| 提交按钮 | 提交表单。 |
reset
| 重置按钮 | 重置表单。 |
button
| 按钮 | 不执行任何操作。 |
如果type
属性处于提交按钮状态,则该元素特别是一个提交按钮。
约束验证:如果type
属性处于重置按钮状态或按钮状态,则该元素禁止约束验证。
button
元素element 在给定event时的激活行为为
如果element已禁用,则返回。
运行给定element的弹出窗口目标属性激活行为。
form
属性用于将button
元素与其表单所有者显式关联。name
属性表示元素的名称。disabled
属性用于使控件不可交互,并防止其值被提交。formaction
、formenctype
、formmethod
、formnovalidate
和formtarget
属性是表单提交属性。
formnovalidate
属性可用于创建不触发约束验证的提交按钮。
如果元素的type
属性不处于提交按钮状态,则不得指定formaction
、formenctype
、formmethod
、formnovalidate
和formtarget
。
value
属性为表单提交的目的提供元素的值。元素的值是元素的value
属性的值(如果存在),否则为空字符串。
只有当按钮本身用于启动表单提交时,按钮(及其值)才会包含在表单提交中。
value
IDL 属性必须反映同名内容属性。
willValidate
、validity
和 validationMessage
IDL 属性,以及 checkValidity()
、reportValidity()
和 setCustomValidity()
方法,是 约束验证 API 的一部分。 labels
IDL 属性提供元素的 标签
列表。 disabled
、form
和 name
IDL 属性是元素表单 API 的一部分。
下面的按钮标记为“显示提示”,并在激活时弹出对话框。
< button type = button
onclick = "alert('This 15-20 minute piece was composed by George Gershwin.')" >
Show hint
</ button >
select
元素所有当前引擎均支持。
所有当前引擎均支持。
option
、optgroup
、hr
和 支持脚本 元素。autocomplete
— 表单自动填充功能的提示disabled
— 表单控件是否禁用form
— 将元素与 form
元素关联multiple
— 是否允许多个值name
— 用于 表单提交 和 form.elements
API 的元素名称required
— 控件是否为 表单提交 所需size
— 控件的大小multiple
属性或 size
属性且其值为 > 1:供作者使用;供实现者使用。[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
属性是一个 布尔属性。如果存在该属性,则 select
元素 表示 用于从 选项列表 中选择零个或多个选项的控件。如果不存在该属性,则 select
元素 表示 用于从 选项列表 中选择单个选项的控件。
所有当前引擎均支持。
size
属性给出要向用户显示的选项数。如果指定了 size
属性,则其值必须是大于零的 有效非负整数。
select
元素的 显示大小 是将 解析非负整数的规则 应用于元素的 size
属性值(如果存在并且解析成功)的结果。如果将这些规则应用于属性的值不成功,或者 size
属性不存在,则元素的 显示大小 为 4(如果元素的 multiple
内容属性存在)或 1(否则)。
select
元素的 选项列表 包括 select
元素的所有 option
元素子节点,以及 select
元素的所有 optgroup
元素子节点的所有 option
元素子节点,按照 树的顺序。
所有当前引擎均支持。
required
属性是一个 布尔属性。当指定时,用户在提交表单之前必须选择一个值。
如果 select
元素具有指定的 required
属性,没有指定的 multiple
属性,并且 显示大小 为 1;并且如果 select
元素的 选项列表 中第一个 option
元素的 值(如果存在)为空字符串,并且该 option
元素的父节点是 select
元素(而不是 optgroup
元素),则该 option
是 select
元素的 占位符标签选项。
如果 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的选中状态设置算法,将执行以下步骤
如果element的multiple
属性不存在,并且element的显示大小为1,并且element的选项列表中没有option
元素的选中状态设置为true,则将选项列表中第一个未禁用的option
元素(如果有)的选中状态设置为true,并返回。
如果element的multiple
属性不存在,并且element的选项列表中两个或多个option
元素的选中状态设置为true,则将选项列表中除最后一个选中状态设置为true的option
元素之外的所有元素的选中状态设置为false。
给定insertedNode的option
HTML 元素插入步骤为
给定removedNode和oldParent的option
HTML 元素移除步骤为
给定removedNode和oldParent的optgroup
HTML 元素移除步骤为
如果选项列表中的option
元素请求重置,则运行该select
元素的选中状态设置算法。
如果multiple
属性存在,并且元素未禁用,则用户代理应允许用户切换其选项列表中本身未禁用的option
元素的选中状态。在该元素被切换(通过点击,或通过菜单命令,或任何其他机制)之后,并且在相关用户交互事件排队之前(例如,在相关的click
事件之前),option
元素的选中状态必须更改(从true到false或从false到true),元素的脏状态必须设置为true,并且用户代理必须发送select
更新通知。
当用户代理要发送select
更新通知时,在给定select
元素的用户交互任务源上排队一个元素任务以执行以下步骤
form
属性用于显式地将select
元素与其表单所有者关联。name
属性表示元素的名称。disabled
属性用于使控件无法交互并阻止提交其值。autocomplete
属性控制用户代理如何提供自动填充行为。
select.type
所有当前引擎均支持。
如果元素具有multiple
属性,则返回“select-multiple
”,否则返回“select-one
”。
select.options
所有当前引擎均支持。
返回HTMLOptionsCollection
,其中包含选项列表。
select.length [ = value ]
返回选项列表中元素的数量。
element = select.item(index)
所有当前引擎均支持。
select[index]
element = select.namedItem(name)
所有当前引擎均支持。
如果找不到具有该ID的元素,则返回null。
select.add(element [, before ])
所有当前引擎均支持。
在由before给定的节点之前插入element。
before参数可以是数字,在这种情况下,element将插入到该数字之前指定的项目之前;也可以是选项列表中的元素,在这种情况下,element将插入到该元素之前。
如果省略before,或其值为null,或其值为超出范围的数字,则element将添加到列表的末尾。
如果element是其要插入到的元素的祖先,则此方法将抛出"HierarchyRequestError
" DOMException
。
select.selectedOptions
HTMLSelectElement/selectedOptions
所有当前引擎均支持。
返回HTMLCollection
,其中包含已选中的选项列表。
select.selectedIndex [ = value ]
HTMLSelectElement/selectedIndex
所有当前引擎均支持。
返回第一个选中项目的索引(如果有),如果没有选中项目,则返回−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
集合上同名的方法一样。
所有当前引擎均支持。
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。
multiple
、required
和 size
IDL 属性必须反映同名的相应内容属性。
IDL 属性具有默认值 0。size
出于历史原因,
IDL 属性的默认值不会返回实际使用的大小,在没有size
内容属性的情况下,大小为 1 或 4,具体取决于size
属性是否存在。multiple
、willValidate
和 validity
IDL 属性以及 validationMessage
、checkValidity()
和 reportValidity()
方法是约束验证 API 的一部分。setCustomValidity()
IDL 属性提供元素的labels
label
列表。
、disabled
和 form
IDL 属性是元素的表单 API 的一部分。name
以下示例显示了如何使用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
…
datalist
元素所有当前引擎均支持。
option
和支持脚本 的元素。[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
元素祖先,则它被禁止进行约束验证。
optgroup
元素所有当前引擎均支持。
所有当前引擎均支持。
select
元素的子元素。option
和支持脚本 的元素。optgroup
元素紧跟在另一个optgroup
元素之后,或者紧跟在hr
元素之后,或者父元素中没有更多内容,则可以省略optgroup
元素的结束标签。disabled
— 表单控件是否禁用label
— 用户可见标签[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
元素分开。
所有当前引擎均支持。
disabled
属性是一个 布尔属性,可用于 禁用 一组 option
元素。
label
属性必须指定。其值用于用户界面中指定组的名称。用户代理应在 select
元素中为这组 option
元素设置标签时使用此属性的值。
disabled
和 label
属性必须 反映 同名内容属性。
无法选择 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 >
option
元素所有当前引擎均支持。
所有当前引擎均支持。
select
元素的子元素。datalist
元素的子元素。optgroup
元素的子元素。label
属性和 value
属性:无。label
属性但没有 value
属性:文本。label
属性且不是 datalist
元素的子元素:文本,不包括 元素间空白符。label
属性且是 datalist
元素的子元素:文本。option
元素紧跟在另一个 option
元素之后,紧跟在 optgroup
元素之后,紧跟在 hr
元素之后,或者父元素中没有更多内容,则可以省略 option
元素的 结束标签。disabled
— 表单控件是否被禁用label
— 用户可见标签selected
— 选项是否默认选中value
— 用于 表单提交 的值[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
控件的标签。
所有当前引擎均支持。
disabled
属性是一个 布尔属性。如果
元素的 option
属性存在,或者它是 disabled
元素(其 optgroup
属性存在)的子元素,则该元素被 禁用。disabled
被 禁用 的
元素必须阻止在 用户交互任务源 上排队的 option
click
事件分派到该元素上。
label
属性为元素提供标签。
元素的 标签 是 option
内容属性的值(如果存在且其值不是空字符串),否则为元素的 label
IDL 属性的值。text
如果指定了
内容属性,则其值不得为空。label
value
属性为元素提供值。
元素的 值 是 option
内容属性的值(如果存在),否则为元素的 value
IDL 属性的值。text
selected
属性是一个 布尔属性。它表示元素的默认 选中状态。
元素的 脏状态 是一个布尔状态,初始值为 false。它控制添加或删除 option
内容属性是否会产生任何影响。selected
元素的 选中状态 是一个布尔状态,初始值为 false。除非另有说明,否则在创建元素时,如果元素具有 option
属性,则其 选中状态 必须设置为 true。每当向 selected
元素添加 option
属性时,如果其 脏状态 为 false,则其 选中状态 必须设置为 true。每当从 selected
元素中移除 option
属性时,如果其 脏状态 为 false,则其 选中状态 必须设置为 false。selected
当使用三个或更少的参数调用
构造函数时,即使第三个参数为 true(表示要设置 Option()
属性),它也会覆盖 选中状态 的初始状态,使其始终为 false。在使用构造函数时,可以使用第四个参数显式设置初始 选中状态。selected
如果未指定 select
元素的
属性,则其后代 multiple
元素中设置了 option
属性的元素不得多于一个。selected
元素的 索引 是在同一 选项列表 中但在 树序 中位于其之前的 option
元素的数量。如果 option
元素不在 选项列表 中,则该元素的 索引 为零。option
option.selected
如果元素被选中,则返回 true,否则返回 false。
可以设置,以覆盖元素的当前状态。
option.index
option.form
返回元素的 form
元素(如果存在),否则返回 null。
option.text
与
相同,但会折叠空格并跳过 textContent
元素。script
option = new Option([ text [, value [, defaultSelected [, selected ] ] ] ])
所有当前引擎均支持。
返回一个新的
元素。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 空格 的结果,按照 树的顺序,排除任何本身是 script
或 SVG script
元素的 option
元素的后代的后代。
text
属性的设置器必须 用给定的值替换此元素中的所有内容。
form
IDL 属性的行为取决于 option
元素是否在 select
元素中。如果 option
元素的父元素是 select
元素,或者父元素是 optgroup
元素且该 optgroup
元素的父元素是 select
元素,则
IDL 属性必须返回与该 form
select
元素上的
IDL 属性相同的值。否则,它必须返回 null。form
除了 DOM 中的工厂方法(如
)之外,还提供了一个用于创建 createElement()
对象的遗留工厂函数:HTMLOptionElement
。当被调用时,遗留工厂函数必须执行以下步骤Option(text, value, defaultSelected, selected)
令 document 为 当前全局对象 的 关联的 Document
。
如果 text 不是空字符串,则将一个新的 Text
节点追加到 option,其数据为 text。
如果 selected 为真,则将 option 的 选中状态 设置为真;否则将其 选中状态 设置为假(即使 defaultSelected 为真)。
返回 option。
textarea
元素所有当前引擎均支持。
所有当前引擎均支持。
autocomplete
— 表单自动填充功能的提示cols
— 每行的最大字符数dirname
— 用于发送元素 方向性 的表单控件的名称,用于 表单提交disabled
— 表单控件是否被禁用form
— 将元素与 form
元素关联maxlength
— 值的最大 长度minlength
— 值的最小 长度name
— 用于 表单提交 和 form.elements
API 的元素名称placeholder
— 要放置在表单控件内的用户可见标签readonly
— 是否允许用户编辑值required
— 控件是否需要 表单提交rows
— 要显示的行数wrap
— 如何为 表单提交 包装表单控件的值[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" ] && 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 解析器 时,用户代理必须调用元素的重置算法。
如果元素是可变的,用户代理应该允许用户更改元素的书写方向,将其设置为从左到右的书写方向或从右到左的书写方向。如果用户这样做,用户代理必须运行以下步骤
如果用户选择了从左到右的书写方向,则将元素的`dir
` 属性设置为“`ltr
”;如果用户选择了从右到左的书写方向,则设置为“`rtl
” 。
在用户交互任务源上排队一个元素任务,以便在`textarea
` 元素上触发一个名为 `input
` 的事件,并将`bubbles
` 和`composed
` 属性初始化为 true。
cols
属性指定每行预期的最大字符数。如果指定了`cols
` 属性,则其值必须是大于零的有效非负整数。如果将解析非负整数的规则 应用于属性的值,结果得到一个大于零的数字,则元素的字符宽度 为该值;否则,为 20。
用户代理可以使用`textarea
` 元素的字符宽度 作为提示,告知用户服务器每行首选多少个字符(例如,对于可视化用户代理,通过使控件的宽度为那么多字符)。在可视化渲染中,用户代理应包装用户在渲染中的输入,以便每行不宽于此字符数。
rows
属性指定要显示的行数。如果指定了`rows
` 属性,则其值必须是大于零的有效非负整数。如果将解析非负整数的规则 应用于属性的值,结果得到一个大于零的数字,则元素的字符高度 为该值;否则,为 2。
可视化用户代理应将控件的高度设置为由字符高度 给出的行数。
wrap
属性是一个具有以下关键字和状态的枚举属性
关键字 | 状态 | 简要描述 |
---|---|---|
soft
| Soft | 提交时不换行(尽管在渲染中仍然可以换行)。 |
hard
| Hard | 文本需要由用户代理添加换行符,以便在提交时换行。 |
如果元素的`wrap
` 属性处于Hard 状态,则必须指定`cols
` 属性。
出于历史原因,元素的值以三种不同的方式针对三种不同的目的进行了规范化。 原始值 是最初设置的值。它没有被规范化。 API 值 是在`value
` IDL 属性、`textLength
` IDL 属性以及`maxlength
` 和`minlength
` 内容属性中使用的值。它被规范化为换行符使用 U+000A 换行符 (LF) 字符。最后,还有值,如本规范中表单提交和其他处理模型中所使用的那样。它与API 值 的规范化方式相同,此外,如果根据元素的`wrap
` 属性需要,则会插入额外的换行符以在给定宽度处换行文本。
获取元素API 值 的算法是返回元素的原始值,并规范化换行符。
元素的值 定义为元素的API 值,并应用了textarea 换行转换。 textarea 换行转换 是以下算法,应用于字符串
如果元素的`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
返回元素的当前值。
可以设置,以更改值。
cols
、placeholder
、required
、rows
和 wrap
IDL 属性必须 反映 同名内容属性。
和 cols
属性 仅限于正数,并有回退值。rows
IDL 属性的 默认值 为 20。cols
IDL 属性的 默认值 为 2。rows
dirName
IDL 属性必须 反映
内容属性。dirname
maxLength
IDL 属性必须 反映
内容属性,仅限于非负数。maxlength
minLength
IDL 属性必须 反映
内容属性,仅限于非负数。minlength
readOnly
IDL 属性必须 反映
内容属性。readonly
type
IDL 属性必须返回值“textarea
”。
defaultValue
属性的 getter 必须返回元素的 子文本内容。
属性的 setter 必须 用给定值替换此元素中的所有字符串。defaultValue
value
IDL 属性在获取时必须返回元素的 API 值。在设置时,它必须执行以下步骤
令 oldAPIValue 为此元素的 API 值。
将此元素的 原始值 设置为新值。
将此元素的 脏值标志 设置为 true。
如果新的 API 值 与 oldAPIValue 不同,则将 文本输入光标位置 移动到文本控件的末尾,取消选择任何选定的文本并 将选择方向重置 为“none
”。
textLength
IDL 属性必须返回元素的 API 值 的 长度。
willValidate
、validity
和 validationMessage
IDL 属性以及 checkValidity()
、reportValidity()
和 setCustomValidity()
方法是 约束验证 API 的一部分。labels
IDL 属性提供元素的
列表。label
select()
、selectionStart
、selectionEnd
、selectionDirection
、setRangeText()
和 setSelectionRange()
方法和 IDL 属性公开了元素的文本选择。disabled
、form
和 name
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 >
output
元素所有当前引擎均支持。
所有当前引擎均支持。
for
— 指定计算输出结果所依据的控件form
— 将元素与 form
元素关联name
— 用于 form.elements
API 中的元素名称。[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
内容属性允许在计算结果与表示输入计算的值或以其他方式影响计算的元素之间建立显式关系。如果指定了 for
属性,则其必须包含一个字符串,该字符串由 一组唯一的以空格分隔的标记 组成,这些标记都不与另一个标记 相同,并且每个标记的值都必须是同一 树 中元素的 ID。
form
属性用于将 output
元素与其 表单所有者 显式关联。 name
属性表示元素的名称。 output
元素与表单关联,以便可以从表单控件的事件处理程序中轻松 引用 它;在提交表单时,元素的值本身不会被提交。
该元素具有 默认值覆盖(null 或字符串)。最初它必须为 null。
元素的 默认值 由以下步骤确定
output.value [ = value ]
返回元素的当前值。
可以设置,以更改值。
output.defaultValue [ = value ]
返回元素的当前默认值。
可以设置,以更改默认值。
output.type
返回字符串“output
”。
value
设置器步骤是
defaultValue
获取器步骤是返回运行 自身 的 默认值 的结果。
defaultValue
设置器步骤是
type
获取器步骤是返回“output
”。
willValidate
、validity
和 validationMessage
IDL 属性以及 checkValidity()
、reportValidity()
和 setCustomValidity()
方法是 约束验证 API 的一部分。 labels
IDL 属性提供元素的 label
列表。 form
和 name
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 >
progress
元素所有当前引擎均支持。
所有当前引擎均支持。
progress
元素后代。value
— 元素的当前值max
— 范围的上限[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 到最大值之间的数字,给出迄今为止已完成的工作的比例。
所有当前引擎均支持。
有两个属性确定元素表示的当前任务完成情况。 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()
方法将由页面上的其他代码调用,以在任务执行过程中更新实际的进度条。)
当存在时,value
和 max
属性必须具有 有效的浮点数 值。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。
meter
元素所有当前引擎均支持。
所有当前引擎均支持。
meter
元素后代。value
— 元素的当前值min
— 范围的下限max
— 范围的上限low
— 低范围的高限high
— 高范围的低限optimum
— 量规中的最佳值[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
元素也不表示任意范围的标量值——例如,除非有已知最大值,否则使用它来报告重量或高度是不正确的。
有六个属性决定了元素表示的量规的语义。
所有当前引擎均支持。
所有当前引擎均支持。
min
属性指定范围的下限,max
属性指定范围的上限。value
属性指定量规指示为“测量”值的值。
其他三个属性可用于将量规的范围划分为“低”、“中”和“高”部分,并指示量规的哪个部分是“最佳”部分。low
属性指定被认为是“低”范围的范围,high
属性指定被认为是“高”范围的范围。optimum
属性给出“最佳”的位置;如果它高于“高”值,则表示值越高越好;如果它低于“低”标记,则表示值越低越好,当然,如果它在两者之间,则表示高值和低值都不好。
创作要求:必须指定 value
属性。value
、min
、low
、high
、max
和 optimum
属性(如果存在)必须具有 有效的浮点数 值。
此外,属性的值还受到进一步的限制。
令 value 为 value
属性的数字。
如果指定了 min
属性,则令 minimum 为该属性的值;否则,令其为零。
如果指定了 max
属性,则令 maximum 为该属性的值;否则,令其为 1.0。
以下不等式必须成立(如适用)。
minimum ≤ value ≤ maximum
如果没有指定最小值或最大值,则假定范围为 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 >
用户代理要求:用户代理必须使用解析浮点数规则解析min
、max
、value
、low
、high
和optimum
属性。
然后,用户代理必须使用所有这些数字为仪表上的六个点获取值,如下所示。(这些评估的顺序很重要,因为某些值引用了较早的值。)
如果指定了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 >
可能呈现如下
用户代理可以结合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
内容属性必须设置为该字符串。
以下示例显示了仪表如何回退到本地化或美化后的文本。
< p > Disk usage: < meter min = 0 value = 170261928 max = 233257824 > 170 261 928 bytes used
out of 233 257 824 bytes available</ meter ></ p >
fieldset
元素所有当前引擎均支持。
所有当前引擎均支持。
legend
元素,然后为流内容。disabled
— 后代表单控件(除了legend
内的任何控件)是否禁用form
— 将元素与form
元素关联name
— 在form.elements
API 中使用的元素名称。[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
元素的子元素。其余的后代形成该组。
所有当前引擎均支持。
当指定disabled
属性时,它会导致fieldset
元素的所有表单控件后代(不包括fieldset
元素的第一个legend
元素子节点的后代,如果有的话)被禁用。
如果fieldset
元素满足以下任何条件,则它就是一个禁用的 fieldset
form
属性用于显式地将fieldset
元素与其表单所有者关联。name
属性表示元素的名称。
fieldset.type
返回字符串“fieldset”。
fieldset.elements
返回元素中表单控件的HTMLCollection
。
disabled
IDL 属性必须反映同名内容属性。
type
IDL 属性必须返回字符串“fieldset
”。
elements
IDL 属性必须返回一个以fieldset
元素为根的HTMLCollection
,其过滤器匹配列出的元素。
willValidate
、validity
和validationMessage
属性,以及checkValidity()
、reportValidity()
和setCustomValidity()
方法,是约束验证 API的一部分。form
和name
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 >
legend
元素所有当前引擎均支持。
所有当前引擎均支持。
fieldset
元素的第一个子节点。[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。