{{ SeeCompatTable() }}
Summary
The HTML <menuitem>
element represents a command that a user is able to invoke through a popup menu. This includes context menus, as well as menus that might be attached to a menu button.
A command can either be defined explicitly, with a textual label and optional icon to describe its appearance, or alternatively as an indirect command whose behavior is defined by a separate element. Commands can also optionally include a checkbox or be grouped to share radio buttons. (Menu items for indirect commands gain checkboxes or radio buttons when defined against elements <input type="checkbox">
and <input type="radio">
.)
Content categories | None. |
---|---|
Permitted content | None, it is an {{Glossary("empty element")}}. |
Tag omission | Must have a start tag and must not have an end tag. |
Permitted parent elements | The {{ HTMLElement("menu") }} element, where that element is in the popup menu state. (If specified, the type attribute of the {{ HTMLElement("menu") }} element must be popup ; if missing, the parent element of the {{ HTMLElement("menu") }} must itself be a {{ HTMLElement("menu") }} in the popup menu state.) |
DOM interface | {{domxref("HTMLMenuItemElement")}} |
Attributes
This element includes the global attributes; in particular title
can be used to describe the command, or provide usage hints.
- {{htmlattrdef("checked")}}
- Boolean attribute which indicates whether the command is selected. May only be used when the
type
attribute ischeckbox
orradio
. - {{htmlattrdef("command")}}
- Specifies the ID of a separate element, indicating a command to be invoked indirectly. May not be used within a menu item that also includes the attributes
checked
,disabled
,icon
,label
,radiogroup
ortype
. - {{htmlattrdef("default")}}
- This Boolean attribute indicates use of the same command as the menu's subject element (such as a
button
orinput
). - {{htmlattrdef("disabled")}}
- Boolean attribute which indicates that the command is not available in the current state. Note that
disabled
is distinct fromhidden
; thedisabled
attribute is appropriate in any context where a change in circumstances might render the command relevant. - {{htmlattrdef("icon")}}
- Image URL, used to provide a picture to represent the command.
- {{htmlattrdef("label")}}
- The name of the command as shown to the user. Required when a
command
attribute is not present. - {{htmlattrdef("radiogroup")}}
- This attribute specifies the name of a group of commands to be toggled as radio buttons when selected. May only be used where the
type
attribute isradio
. - {{htmlattrdef("type")}}
- This attribute indicates the kind of command, and can be one of three values.
command
: A regular command with an associated action. This is the missing value default.checkbox
: Represents a command that can be toggled between two different states.radio
: Represent one selection from a group of commands that can be toggled as radio buttons.
Example
HTML content
<!-- A <div> element with a context menu --> <div contextmenu="popup-menu"> Right-click to see the adjusted context menu </div> <menu type="context" id="popup-menu"> <menuitem type="checkbox" label="Checkbox" onclick="toggleOption()" checked="true"> <menuitem type="command" label="Command" icon="icon.png" onclick="doSomething()"> <menuitem type="radio" label="Radio button 1" onclick="save()"> <menuitem type="radio" label="Radio button 2" onclick="save()"> </menu>
CSS content
div { width: 300px; height: 80px; background-color: lightgreen; }
Result
{{EmbedLiveSample('Example', '300', '80')}}
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', 'forms.html#the-menuitem-element', '<menuitem>')}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName('HTML5.1', 'interactive-elements.html#the-menuitem-element', '<menuitem>')}} | {{Spec2('HTML5.1')}} |
Browser compatibility
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatGeckoDesktop(8)}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatGeckoMobile(8)}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
See also
{{ HTMLRef }}