如何使用jQuery选择所有textareas和文本框?

Cli*_*ote 53 javascript jquery

如何选择所有文本框和textareas,例如:

<input type='text' />
Run Code Online (Sandbox Code Playgroud)

<textarea></textarea>
Run Code Online (Sandbox Code Playgroud)

在页面上并将属性style.width="90%";应用于他们?

ror*_*ryf 135

$('input[type=text], textarea').css({width: '90%'});
Run Code Online (Sandbox Code Playgroud)

它使用标准的CSS选择器,jQuery还有一组用于各种表单元素的伪选择器过滤器,例如:

$(':text').css({width: '90%'});
Run Code Online (Sandbox Code Playgroud)

将匹配所有<input type="text">元素.有关详细信息,请参阅选择器文档.

  • :文本选择器不会选择textareas(至少在最新的jQuery中).我还想在jQuery文档中添加一些关于:text选择器的内容:"因为:text是一个jQuery扩展而不是CSS规范的一部分,使用:text的查询无法利用本机DOM querySelectorAll提供的性能提升(方法.为了在现代浏览器中获得更好的性能,请改用[type ="text"]." (6认同)

小智 13

密码框也是文本框,所以如果你也需要它们:

$("input[type='text'], textarea, input[type='password']").css({width: "90%"});
Run Code Online (Sandbox Code Playgroud)

虽然文件输入有点不同,但您可能也想要包含它们(例如,为了视觉一致性):

$("input[type='text'], textarea, input[type='password'], input[type='file']").css({width: "90%"});
Run Code Online (Sandbox Code Playgroud)