2010-09-06 127 views

回答

0

如果只是一个正则表达式会做,你可以尝试使用.filter()

$('#somecontainer input').filter(function(){ 
    return this.name.match(/a|b|c/); 
}); 

另一种方法是组装一个带有.add()的jQuery对象。如果你的意思是包含而不是等于,不要忘记使用name*=a

$('input[name*=a]') 
    .add('input[name*=b]') 
    .add('input[name*=c]') 
    .add('<p>something</p>') // you can .add() almost anything. useful. 
+0

正则表达式部分非常有趣。鉴于线索,我发现这个插件:http://james.padolsey.com/javascript/regex-selector-for-jquery/ – Rainmasterrr 2010-09-06 04:56:10

1
$("input[name='a'],input[name='b'],input[name='c']") 

如果这个字符串似乎太长或多余的,你可以建立类似的选择:

var names = ['a','b','c']; 
var selector = []; 
for (var i=0; i<names.length; i++) { 
    selector.push("input[name='" + names[i] + "']"); 
} 

$(selector.join(',')) 
+0

作为参考,这是一个多重选择器的例子。查看jQuery选择器API,http://api.jquery.com/category/selectors/ – michaeltwofish 2010-09-06 03:27:42