HTMLOptionElement: Option() 构造函数
Option()
构造函数创建一个新的 HTMLOptionElement
。
语法
js
new Option()
new Option(text)
new Option(text, value)
new Option(text, value, defaultSelected)
new Option(text, value, defaultSelected, selected)
参数
text
可选-
一个字符串,表示元素的内容,即显示的文本。如果未指定,则使用默认值 ""(空字符串)。
value
可选-
一个字符串,表示
HTMLOptionElement
的值,即等效的<option>
的 value 属性。如果未指定,则使用 text 的值作为 value,例如,当表单提交到服务器时,为关联的<select>
元素的 value。 defaultSelected
可选-
一个值为
true
或false
的值,用于设置selected
属性值,即,使此<option>
成为页面首次加载时<select>
元素中选定的默认值。如果未指定,则使用默认值 false。请注意,如果选项尚未选中,则值为 true 不会将选项设置为选中。 selected
可选-
一个值为
true
或false
的值,用于设置选项的选中状态;默认值为 false(未选中)。如果省略,即使 defaultSelected 参数为 true,选项也不会被选中。
示例
只需添加新选项
js
/* assuming we have the following HTML
<select id='s'>
</select>
*/
const s = document.getElementById("s");
const options = [Four, Five, Six];
options.forEach((element, key) => {
s[key] = new Option(element, key);
});
使用不同的参数追加选项
js
/* assuming we have the following HTML
<select id="s">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
*/
const s = document.getElementById("s");
const options = ["zero", "one", "two"];
options.forEach((element, key) => {
if (element === "zero") {
s[key] = new Option(element, s.options.length, false, false);
}
if (element === "one") {
s[key] = new Option(element, s.options.length, true, false); // Will add the "selected" attribute
}
if (element === "two") {
s[key] = new Option(element, s.options.length, false, true); // Just will be selected in "view"
}
});
/* Result
<select id="s">
<option value="0">zero</option>
<option value="1" selected="">one</option>
<option value="2">two</option> // User will see this as 'selected'
</select>
*/
规范
规范 |
---|
HTML 标准 # dom-option-dev |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。