Un modo più semplice per selezionare più valori possibili degli attributi?

C’è una possibilità in jQuery di selezionare più valori di attributo possibili senza dover usare un elenco di selettori separati da virgole.

Quindi al posto di:

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

Qualcosa di simile a:

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

    Non che io sappia. Il modo più pulito che posso pensare di fare questo è selezionare innanzitutto utilizzando gli elementi comuni tra tutti gli elementi, quindi solo .find() o .filter() valorizza l’OR.

    Qualcosa di simile a

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

    Puoi creare una funzione jQuery personalizzata come questa:

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

    Per il tuo esempio potresti usarlo nel modo seguente:

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