2013-10-25 2 views
0

У меня есть два разных объекта jQuery, один из запроса селектора и один, созданный из html-кода. Теперь я хочу сделать из них еще один объект jQuery, чтобы выполнять операции над обоими из них.Как построить объект jQuery из объектов jQuery

Как вы можете видеть здесь (http://jsfiddle.net/D799Y/), то можно сделать это с помощью операции «получить» и построение массива элементов:

var $first = $('div.first'), 
    $overlay = $('<div class="overlay" />'), 
    $list; 

$first.before($overlay); 

// build list out of elements 
$list = $([ $first.get(0), $overlay.get(0) ]); 

// modify the list 
$list.css('border', '2px solid green'); 

Есть ли способ сделать сделать $ список напрямую из двух объектов jQuery? Можете ли вы добавить объект jQuery к другому?

Это было бы также более интересно, если f.i. $first будет содержать более одного элемента.

Кстати, я знаю об этой возможности, но это так неудовлетворительно. :)

$list = $(".first,.pane"); 

ответ

5

Вы можете просто использовать add() метод:

$list = $first.add($overlay); 

Обратите внимание, что add() является неразрушающим: он создает новый объект JQuery вместо изменения того, на который он вызван, и что вы хотите.

+0

Спасибо! Это так просто, что я не знаю, как я мог упустить это в документах. – gpinkas

2

Вы можете использовать .add()

$list = $first.add($overlay); 
1

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

// build list out of elements 
$list = $first.add($overlay); 
Смежные вопросы