在jQuery中name =“this or that”?

时间:2010-12-02 19:48:07

标签: jquery

我有这段代码:

$("input[name=foo]:checked,input[name=bar]:checked")

但是我希望通过以下方式缩小它:

$("input[name=foo|bar]:checked")

有类似的吗?

2 个答案:

答案 0 :(得分:2)

最短版本,因为输入是“应该”具有名称的唯一内容。

$('[name=foo],[name=bar]');

更安全,因为输入是唯一可以实际检查的东西。

$(":checked").filter('[name=foo],[name=bar]');

与原始选择器完全一样安全,但两个字符更短:

$("input:checked").filter('[name=foo],[name=bar]');

但总的来说,我同意,没有真正的需要,你最好把时间花在其他地方。

答案 1 :(得分:1)

如果你真的想这样做,你可以使用James Padolsey的regex selector

$("input:regex(name,^(foo|bar)$):checked")

但在我看来,这不如你的原始代码那么清晰。