更简洁的方法来选择多个可能的属性值?

是否有可能在jQuery中选择多个可能的属性值而不必使用逗号分隔的选择器列表。

所以代替:

#list1 > option[value="1"], #list1 > option[value="2"], etc 

就像是:

 #list1 > option[value="1"|value="2"], etc 

从来没听说过。 我能想到的最干净的方法是首先选择在所有项目中使用公共元素,然后只使用.find().filter() OR值。

就像是

 $('#list1 > option[value]') .filter('[value="1"],[value="2"]') ; 

你可以像这样制作一个自定义的jQuery函数:

 $.fn.filterAttrVals = function (attr, vals) { var filter = '[' + attr + '="' + vals.split(',').join('"],[' + attr + '="') + '"]'; return this.filter(filter); }; 

对于您的示例,您可以通过以下方式使用它:

 $('#list1 > option').filterAttrVals('value','1,2');