Skip to content

Commit 0a79daf

Browse files
committed
docs(elements): add <option>
1 parent c6ecdd5 commit 0a79daf

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

chapters.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,4 @@
8080
- elements/form.md: <form>
8181
- elements/input.md: <input>
8282
- elements/button.md: <button>
83+
- elements/button.md: <option>

docs/elements/option.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# <option> 元素
2+
3+
`<option>`元素表示下拉框(`<select>``<optgroup>``<datalist>`)里面的一个选项。它是 HTMLOptionElement 接口的实例。
4+
5+
## 属性
6+
7+
除了继承 HTMLElement 接口的属性和方法,HTMLOptionElement 接口具有下面的属性。
8+
9+
- `disabled`:布尔值,表示该项是否可选择。
10+
- `defaultSelected`:布尔值,表示该项是否默认选中。一旦设为`true`,该项的值就是`<select>`的默认值。
11+
- `form`:返回`<option>`所在的表单元素。如果不属于任何表单,则返回`null`。该属性只读。
12+
- `index`:整数,表示该选项在整个下拉列表里面的位置。该属性只读。
13+
- `label`:字符串,表示对该选项的说明。如果该属性未设置,则返回该选项的文本内容。
14+
- `selected`:布尔值,表示该选项是否选中。
15+
- `text`:字符串,该选项的文本内容。
16+
- `value`:字符串,该选项的值。表单提交时,上传的就是选中项的这个属性。
17+
18+
## Option() 构造函数
19+
20+
浏览器原生提供`Option()`构造函数,用来生成 HTMLOptionElement 实例。
21+
22+
```javascript
23+
new Option(text, value, defaultSelected, selected)
24+
```
25+
26+
它接受四个参数,都是可选的。
27+
28+
- text:字符串,表示该选项的文本内容。如果省略,返回空字符串。
29+
- value:字符串,表示该选项的值。如果省略,默认返回`text`属性的值。
30+
- defaultSelected:布尔值,表示该项是否默认选中,默认为`false`。注意,即使设为`true`,也不代表该项的`selected`属性为`true`
31+
- selected:布尔值,表示该项是否选中,默认为`false`
32+
33+
```javascript
34+
var newOption = new Option('hello', 'world', true);
35+
36+
newOption.text // "hello"
37+
newOption.value // "world"
38+
newOption.defaultSelected // true
39+
newOption.selected // false
40+
```
41+
42+
上面代码中,`newOption``defaultSelected`属性为`true`,但是它没有被选中(即`selected`属性为`false`)。
43+

0 commit comments

Comments
 (0)