Более чистый способ выбора нескольких возможных значений атрибутов?
Есть ли возможность в jQuery выбрать несколько возможных значений атрибутов без использования списка селекторов, разделенных запятыми.
Таким образом, вместо:
#list1 > option[value="1"], #list1 > option[value="2"], etc
Что-то вроде:
- Селектор jQuery: Id заканчивается?
- Изменение CSS-элемента дочернего элемента при зависании родительского элемента
- Выбрать элемент по точному соответствию его содержимому
- jQuery mobile - для каждого события прямого трансляционного события должно существовать эквивалентное событие click?
- Как изменить css display none или заблокировать свойство с помощью JQuery?
#list1 > option[value="1"|value="2"], etc
- Тестирование, если флажок установлен с помощью jQuery
- jQuery как найти элемент на основе значения атрибута данных?
- jQuery ИЛИ Селектор?
- Разница между CSS-селектором и фильтром jQuery?
- Как получить выражение селектора jQuery в виде текста?
- Что такое fastest children () или find () в jQuery?
- : nth-of-type () в jQuery / Sizzle?
- Доступ к css ": после" селектор с jQuery
Не то, что я знаю из. Самый чистый способ, которым я могу это сделать, – сначала выбрать, используя общие элементы для всех элементов, а затем просто .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');