jQuery选择具有多个值的选项

时间:2010-09-06 02:31:44

标签: jquery jquery-selectors selector

在选择器中,如何检查属性的值是否在一行中包含“a”,“b”或“c”?你可以这样做:$('input[name]=a|b|c')?好吧,我测试了它并且没有用。

2 个答案:

答案 0 :(得分: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(','))

答案 1 :(得分: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.