The HTMLOptionElement interface represents <option> elements and inherits all properties and methods of the HTMLElement interface.

EventTarget Node Element HTMLElement HTMLOptionElement



Returns a newly created HTMLOptionElement object. It has four parameters: the text to display, text, the value associated, value, the value of defaultSelected, and the value of selected. The last three parameters are optional.

Instance properties

Inherits properties from its parent, HTMLElement.


Has a value of either true or false that shows the initial value of the selected HTML attribute, indicating whether the option is selected by default or not.


Has a value of either true or false representing the value of the disabled HTML attribute, which indicates that the option is unavailable to be selected. An option can also be disabled if it is a child of an <optgroup> element that is disabled.

HTMLOptionElement.form Read only

A HTMLFormElement representing the same value as the form of the corresponding <select> element, if the option is a descendant of a <select> element, or null if none is found.

HTMLOptionElement.index Read only

A long representing the position of the option within the list of options it belongs to, in tree-order. If the option is not part of a list of options, like when it is part of the <datalist> element, the value is 0.

HTMLOptionElement.label Read only

A string that reflects the value of the label HTML attribute, which provides a label for the option. If this attribute isn't specifically set, reading it returns the element's text content.


Has a value of either true or false that indicates whether the option is currently selected.


A string that contains the text content of the element.


A string that reflects the value of the value HTML attribute, if it exists; otherwise reflects value of the Node.textContent property.

Instance methods

Doesn't implement any specific method, but inherits methods from its parent, HTMLElement.


HTML Standard
# htmloptionelement

Browser compatibility

BCD tables only load in the browser

See also