:text Selector

Selects all input elements of type text.

.text()

$( ":text" ) allows us to select all <input type="text"> elements. 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 $( ":text" ) is equivalent to $( "*:text" ), so $( "input:text" ) should be used instead.

Note: As of jQuery 1.5.2, :text selects input elements that have no specified type attribute (in which case type="text" is implied).

This difference in behavior between $( ":text" ) and $( "[type=text]" ), can be seen below:

$("<input>").is("[type=text]"); // false
$("<input>").is(":text"); // true

Finds all text inputs.

JS
<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></div>
CSS
textarea {
  height: 25px;
}
HTML
var input = $("form input:text").css({
  background: "yellow",
  border: "3px red solid",
});

$("div")
  .text("For this type jQuery found " + input.length + ".")
  .css("color", "red");

// Prevent form submission
$("form").submit(function (event) {
  event.preventDefault();
});
DEMO

Looking for a Web Developer?

👋

Hi! I'm Basti, author of this site. If you are looking for a web developer with 15+ years of experience, holla at me!

Be it the good 'ol jQuery, vanilla JS or modern frameworks like Vue and Svelte, front- or backend, I can help you.

Just write me at jobs@jqapi.com :)