# <option> 元素
`<option>`元素表示下拉框(`<select>`,`<optgroup>`或`<datalist>`)里面的一个选项。它是 HTMLOptionElement 接口的实例。
## 属性
除了继承 HTMLElement 接口的属性和方法,HTMLOptionElement 接口具有下面的属性。
- `disabled`:布尔值,表示该项是否可选择。
- `defaultSelected`:布尔值,表示该项是否默认选中。一旦设为`true`,该项的值就是`<select>`的默认值。
- `form`:返回`<option>`所在的表单元素。如果不属于任何表单,则返回`null`。该属性只读。
- `index`:整数,表示该选项在整个下拉列表里面的位置。该属性只读。
- `label`:字符串,表示对该选项的说明。如果该属性未设置,则返回该选项的文本内容。
- `selected`:布尔值,表示该选项是否选中。
- `text`:字符串,该选项的文本内容。
- `value`:字符串,该选项的值。表单提交时,上传的就是选中项的这个属性。
## Option() 构造函数
浏览器原生提供`Option()`构造函数,用来生成 HTMLOptionElement 实例。
```javascript
new Option(text, value, defaultSelected, selected)
```
它接受四个参数,都是可选的。
- text:字符串,表示该选项的文本内容。如果省略,返回空字符串。
- value:字符串,表示该选项的值。如果省略,默认返回`text`属性的值。
- defaultSelected:布尔值,表示该项是否默认选中,默认为`false`。注意,即使设为`true`,也不代表该项的`selected`属性为`true`。
- selected:布尔值,表示该项是否选中,默认为`false`。
```javascript
var newOption = new Option('hello', 'world', true);
newOption.text // "hello"
newOption.value // "world"
newOption.defaultSelected // true
newOption.selected // false
```
上面代码中,`newOption`的`defaultSelected`属性为`true`,但是它没有被选中(即`selected`属性为`false`)。
- 前言
- 入门篇
- 导论
- 历史
- 基本语法
- 数据类型
- 概述
- null,undefined 和布尔值
- 数值
- 字符串
- 对象
- 函数
- 数组
- 运算符
- 算术运算符
- 比较运算符
- 布尔运算符
- 二进制位运算符
- 其他运算符,运算顺序
- 语法专题
- 数据类型的转换
- 错误处理机制
- 编程风格
- console 对象与控制台
- 标准库
- Object 对象
- 属性描述对象
- Array 对象
- 包装对象
- Boolean 对象
- Number 对象
- String 对象
- Math 对象
- Date 对象
- RegExp 对象
- JSON 对象
- 面向对象编程
- 实例对象与 new 命令
- this 关键字
- 对象的继承
- Object 对象的相关方法
- 严格模式
- 异步操作
- 概述
- 定时器
- Promise 对象
- DOM
- 概述
- Node 接口
- NodeList 接口,HTMLCollection 接口
- ParentNode 接口,ChildNode 接口
- Document 节点
- Element 节点
- 属性的操作
- Text 节点和 DocumentFragment 节点
- CSS 操作
- Mutation Observer API
- 事件
- EventTarget 接口
- 事件模型
- Event 对象
- 鼠标事件
- 键盘事件
- 进度事件
- 表单事件
- 触摸事件
- 拖拉事件
- 其他常见事件
- GlobalEventHandlers 接口
- 浏览器模型
- 浏览器模型概述
- window 对象
- Navigator 对象,Screen 对象
- Cookie
- XMLHttpRequest 对象
- 同源限制
- CORS 通信
- Storage 接口
- History 对象
- Location 对象,URL 对象,URLSearchParams 对象
- ArrayBuffer 对象,Blob 对象
- File 对象,FileList 对象,FileReader 对象
- 表单,FormData 对象
- IndexedDB API
- Web Worker
- 附录:网页元素接口
- a
- img
- form
- input
- button
- option
- video,audio