我有这段代码:
$("input[name=foo]:checked,input[name=bar]:checked")
但是我希望通过以下方式缩小它:
$("input[name=foo|bar]:checked")
有类似的吗?
答案 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")
但在我看来,这不如你的原始代码那么清晰。