Как построить объект jQuery из объектов jQuery

0

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

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

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');

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

Это также было бы более интересно, если бы fi $first содержало бы несколько элементов.

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

$list = $(".first,.pane");
Теги:

3 ответа

5
Лучший ответ

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

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

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

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

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

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

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

// build list out of elements
$list = $first.add($overlay);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню