【发布时间】:2010-09-06 02:31:44
【问题描述】:
在选择器中,如何检查一个属性的值是否在一行中包含“a”、“b”或“c”?例如:$('input[name]=a|b|c')?好吧,我测试了它,但它不起作用。
【问题讨论】:
标签: jquery jquery-selectors selector
在选择器中,如何检查一个属性的值是否在一行中包含“a”、“b”或“c”?例如:$('input[name]=a|b|c')?好吧,我测试了它,但它不起作用。
【问题讨论】:
标签: jquery jquery-selectors selector
$("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(','))
【讨论】:
如果只能使用正则表达式,您可以尝试使用.filter():
$('#somecontainer input').filter( function(){
return this.name.match(/a|b|c/);
});
另一种方法是用.add() 组装一个jQuery 对象。如果你的意思是 contains 而不是 equals,别忘了使用name*=a。
$('input[name*=a]')
.add('input[name*=b]')
.add('input[name*=c]')
.add('<p>something</p>') // you can .add() almost anything. useful.
【讨论】: