¿Una forma más limpia de seleccionar por múltiples valores de atributo posibles?

¿Existe una posibilidad en jQuery de seleccionar por múltiples valores de atributo posibles sin tener que usar una lista de selectores separados por comas?

Entonces en lugar de:

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

Algo como:

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

No que yo sepa. La manera más limpia que puedo pensar de hacer esto es seleccionar primero el uso de los elementos comunes en todos los elementos, y luego simplemente .find() o .filter() los valores de OR.

Algo como

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

Puede hacer una función jQuery personalizada como esta:

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

Para su ejemplo, puede usarlo de la siguiente manera:

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