jQuery: Как я могу выбрать несколько элементов из одного пути? - PullRequest
2 голосов
/ 07 сентября 2011

Мне любопытно, есть ли способ сжать это:

$('foo input:checkbox, foo input:radio');


Я попробовал следующее, но не повезло:

  • $('foo input[type="checkbox",type="radio"]');
    

    Это слепо не работает (возможно, плохой синтаксис)

  •  $('foo input[type="checkbox"][type="radio"]');
    

    Я думаю, что при этом будут выбраны все входы, которые оба являются переключателями радио и , что никогда не будет иметь место.


Редактировать:
Я изменил fooElement на foo, чтобы упростить пример

Ответы [ 5 ]

4 голосов
/ 07 сентября 2011
$('input[type="checkbox"], input[type="radio"]', $('fooelement'))

Или

$('[type="checkbox"], [type="radio"]', $('fooelement input'))

Или

$(':checkbox, :radio', $('fooelement input'))

Помните, что jQuery предлагает возможность указать контекст для поиска.

http://api.jquery.com/jQuery/

2 голосов
/ 07 сентября 2011

Попробуйте это

$('fooElement input').filter(":checkbox, :radio");
1 голос
/ 07 сентября 2011

$('fooElement').find(':checkbox,:radio');

0 голосов
/ 07 сентября 2011

это на самом деле не "сжато", но:

$('fooElement input[type="checkbox"], fooElement input[type="radio"]');
0 голосов
/ 07 сентября 2011
$('fooElement input[type="checkbox"]').add('fooElement [type="radio"]');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...