У меня есть два разных объекта 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");
Вы можете просто использовать метод add():
$list = $first.add($overlay);
Обратите внимание, что add()
является разрушительным: он создает новый объект jQuery вместо того, чтобы изменять тот, на который он вызван, и это то, что вы хотите.
Вы можете использовать .add()
$list = $first.add($overlay);
Вы можете добавлять элементы к набору согласованных элементов, используя .add()
например:
// build list out of elements
$list = $first.add($overlay);