Javascript jQuery:如何从一条路径中选择多个元素?

Javascript jQuery:如何从一条路径中选择多个元素?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我很好奇是否有一种方法可以浓缩这一点: $'foo-input:checkbox,foo-input:radio' 我尝试了以下方法,但没有成功: 如果语法不好,这种盲目的做法是行不通的 我认为这将选择所有的输入都是收音机和复选框,这将永远不会发生 编辑: 我将fooElement更改为foo-toi以简化示例$'fooElement'.find':复选框,:radio' 它本身并不是真正的浓缩,但是: $('fooElement input[type="checkbox"], fooEle

我很好奇是否有一种方法可以浓缩这一点:

$'foo-input:checkbox,foo-input:radio'

我尝试了以下方法,但没有成功:

如果语法不好,这种盲目的做法是行不通的

我认为这将选择所有的输入都是收音机和复选框,这将永远不会发生

编辑:
我将fooElement更改为foo-toi以简化示例

$'fooElement'.find':复选框,:radio'

它本身并不是真正的浓缩,但是:

$('fooElement input[type="checkbox"], fooElement input[type="radio"]');

记住jQuery提供了指定要搜索的上下文的功能

试试这个

$('fooElement input').filter(":checkbox, :radio");

@约翰:我知道,但忘了,这可能是一个解决方案:+1稍微少一点混乱,+1。我很好奇是否还有更多的开销/循环。这很简单。它将首先通过taginput获取所有元素,然后根据类型进行过滤。Shankar,我知道发生了什么。我对潜在的开销很好奇。有两种不同的for循环和一种不同吗?哇,我已经好几年没见过这个问题了——如果有其他人来了,我想我大概一年前在jsperf上做了一些测试,发现了。过滤器选择我的第一个机构需要花费不必要的时间+1,我很好奇是否还有额外的开销/循环,特别是与John的答案相比
$('fooElement input[type="checkbox"]').add('fooElement [type="radio"]');
$('fooElement input[type="checkbox"], fooElement input[type="radio"]');
$('input[type="checkbox"], input[type="radio"]', $('fooelement'))
$('[type="checkbox"], [type="radio"]', $('fooelement input'))
$(':checkbox, :radio', $('fooelement input'))
$('fooElement input').filter(":checkbox, :radio");