# :input Selector

Categories: Selectors > Form | Selectors > jQuery Extensions

## input selector

#### version added: 1.0jQuery(':input')

Description: Selects all input, textarea, select and button elements.

The `:input` selector basically selects all form controls.

### Additional Notes:

- Because `:input` is a jQuery extension and not part of the CSS specification, queries using `:input` cannot take advantage of the performance boost provided by the native DOM `querySelectorAll()` method. To achieve the best performance when using `:input` to select elements, first select the elements using a pure CSS selector, then use `.filter(":input")`.

### Example:

#### Finds all input elements.

    <!DOCTYPE html>
    <html>
    <head>
      <style>
      textarea { height:25px; }
      </style>
      <script src="http://code.jquery.com/jquery-1.7rc2.js"></script>
    </head>
    <body>
      <form>
        <input type="button" value="Input Button"/>
        <input type="checkbox" />

        <input type="file" />
        <input type="hidden" />
        <input type="image" />

        <input type="password" />
        <input type="radio" />
        <input type="reset" />

        <input type="submit" />
        <input type="text" />
        <select><option>Option</option></select>

        <textarea></textarea>
        <button>Button</button>
      </form>
      <div id="messages">
      </div>
    <script>

        var allInputs = $(":input");
        var formChildren = $("form > *");
        $("#messages").text("Found " + allInputs.length + " inputs and the form has " +
                                 formChildren.length + " children.");

        // so it won't submit
        $("form").submit(function () { return false; });

    </script>

    </body>
    </html>

#### Demo: