Объединить / объединить 2 набора jQuery - PullRequest
11 голосов
/ 16 ноября 2009

Посмотрите на этот код, например ...

var $div = $('#my div'),

    $ul = $('#somewhere ul');

Как я могу выполнить метод jQuery для них обоих? Например, будет ли это работать? Какова лучшая практика здесь?

$($div, $ul).addClass('my-new-class');

Не будет ли этот поиск $div в контексте $ul?

Ответы [ 3 ]

19 голосов
/ 16 ноября 2009

jQuery предоставляет метод add для этого. Наиболее распространенным случаем является добавление в набор jQuery дополнительных элементов, соответствующих заданному селектору (передается add), но вы можете использовать его для выполнения стандартного объединения из двух наборов тоже:

$c = $a.add($b).addClass('foo')

add возвращает новый упакованный набор, содержащий объединенную и уникальную комбинацию this и данный набор. Обратите внимание, что $b остается без изменений.

3 голосов
/ 17 июня 2011

Я знаю, что это очень очень поздно, но вы также можете сделать следующее:

$().add($div).add($ul).addClass('my-new-class');
0 голосов
/ 16 ноября 2009

1001 * попробовать *

$('#my div, #somewhere ul').addClass('my-new-class');

смотрите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...