As with other pseudo-class selectors (those that begin with a ":") it is recommended to precede it with a tag name or some other selector; otherwise, the universal selector ( "*" ) is implied. In other words, the bare $( ":enabled" )
is equivalent to $( "*:enabled" )
, so $( "input:enabled" )
or similar should be used instead.
The :enabled CSS pseudo-class represents any enabled element. An element is enabled if it can be activated (selected, clicked on, typed into, etc.) or accept focus. The element also has a disabled state, in which it can't be activated or accept focus.
Although their resulting selections are usually the same, :enabled
selector is subtly different from :not([disabled])
; :enabled
selects elements that have their boolean disabled property strictly equal to false, while :not([disabled])
selects elements that do not have a disabled attribute set (regardless of its value).
The :enabled selector matches every enabled element (mostly used on form elements).
The :enabled
selector should only be used for selecting HTML elements that support the disabled
attribute (<button>
, <input>
, <optgroup>
, <option>
, <select>
, and <textarea>
).