jQuery select或:简明扼要select 多个容器中的所有表单元素?

jQuery selectors: concisely select all form elements within multiple containers?

给定一个包含多个 div 表单元素(inputtextareaselect)的表单,[=36 最简洁的方式是什么=]在给定的 div ID 中输入 inputtextareaselect

Fiddle: https://jsfiddle.net/2rvxt5v7/4

我知道这是无效的 jQuery 语法,但也许这会展示我正在尝试做的事情(select area1 和area3 没有 selecting area2 中的那些):

$('#area1[input,select,textarea], #area3[input,select,textarea]').css('background-color','yellow')

我注意到有些库添加了提供 select 的正则表达式方法,但我想要一种本机的 jQuery 方式来执行此操作。最好不使用 .filter().

使用:input select或.

$('#area1 :input, #area3 :input').css('background','yellow')

Selects all input, textarea, select and button elements.

Updated Fiddle

请注意,这也会 select <button> 元素,可能不是您想要的。


可以使用 not() and :button select 或

排除按钮元素
$('#area1 :input, #area3 :input').not(':button').css(...