¿Existe la posibilidad en jQuery de seleccionar por múltiples valores de atributos posibles sin tener que usar una lista de selectores separados por comas?
Así que en lugar de:
#list1 > option[value="1"], #list1 > option[value="2"], etcAlgo como:
#list1 > option[value="1"|value="2"], etcNo que yo sepa. La forma más limpia que se me ocurre de hacer esto es seleccionar primero usando los elementos comunes en todos los elementos, luego simplemente .find() o .filter() los valores 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, podría usarlo de la siguiente manera:
$('#list1 > option').filterAttrVals('value','1,2');Puedes hacerlo
var valuesNeeded = [1,2,etc]; $('#list1 > option').filter(function( index ) { return valuesNeeded.indexOf($(this).attr('value')) != -1; });