The <option>
is used to define an item contained in a <select>
, an <optgroup>
, or a <datalist>
element. As such, <option>
can represent menu items in popups and other lists of items in an HTML document.
Content categories | None. |
---|---|
Permitted content | Text, possibly with escaped characters (like é ). |
Tag omission | The start tag is mandatory. The end tag is optional if this element is immediately followed by another <option> element or an <optgroup> , or if the parent element has no more content. |
Permitted parents | A <select> , an <optgroup> or a <datalist> element. |
Permitted ARIA roles | None |
DOM interface | HTMLOptionElement |
This element includes the global attributes.
disabled
<optgroup>
element.label
label
attribute isn't defined, its value is that of the element text content.selected
<option>
element is the descendant of a <select>
element whose multiple
attribute is not set, only one single <option>
of this <select>
element may have the selected
attribute.value
See <select>
for examples.
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of '<option>' in that specification. | Living Standard | |
HTML5 The definition of '<option>' in that specification. | Recommendation | |
HTML 4.01 Specification The definition of '<option>' in that specification. | Recommendation | Initial definition |
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 1 | Yes | 1 | Yes | Yes | Yes |
disabled |
1 | Yes | 1 | Yes | Yes | Yes |
label |
1 | Yes | 11 2 3 | Yes | Yes | Yes |
selected |
1 | Yes | 1 | Yes | Yes | Yes |
value |
1 | Yes | 1 | Yes | Yes | Yes |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | Yes | Yes | Yes | 4 | Yes | Yes | Yes |
disabled |
Yes | Yes | Yes | 4 | Yes | Yes | Yes |
label |
Yes | Yes | Yes | 41 | Yes | Yes | Yes |
selected |
Yes | Yes | Yes | 4 | Yes | Yes | Yes |
value |
Yes | Yes | Yes | 4 | Yes | Yes | Yes |
1. Firefox doesn't display the value of the label
attribute as option text if element's content is empty. See bug 40545.
2. Historically, Firefox has allowed keyboard and mouse events to bubble up from the <option>
element to the parent <select>
element, although this behavior is inconsistent across many browsers. For better Web compatibility (and for technical reasons), when Firefox is in multi-process mode and the <select>
element is displayed as a drop-down list. The behavior is unchanged if the <select>
is presented inline and it has either the multiple
attribute defined or a size
attribute set to more than 1
. Rather than watching <option>
elements for events, you should watch for change events on <select>
. See bug 1090602 for details.
3. When Mozilla introduced dedicated content threads to Firefox (through the Electrolysis, or e10s, project), support for styling <option>
elements was removed temporarily. Starting in Firefox 54, you can apply foreground and background colors to <option>
elements again, using the color
and background-color
CSS properties. See bug 910022 for more information. Note that this is still disabled in Linux due to lack of contrast (see bug 1338283 for progress on this).
<form>
, <legend>
, <label>
, <button>
, <select>
, <datalist>
, <optgroup>
, <fieldset>
, <textarea>
, <keygen>
, <input>
, <output>
, <progress>
and <meter>
.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option