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

有没有办法直接从两个 jQuery 对象中生成 $list ?您可以将 jQuery 对象添加到另一个对象吗?

$first如果 fi包含多个元素,这也会更有趣。

顺便说一句,我知道这种可能性,但它是如此不令人满意。:)

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

3 回答 3

5

您可以简单地使用add()方法:

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

请注意,这add()是非破坏性的:它会创建一个新的 jQuery 对象,而不是修改它所调用的对象,这正是您想要的。

于 2013-10-25T09:31:04.853 回答
2

您可以使用.add()

$list = $first.add($overlay);
于 2013-10-25T09:30:39.667 回答
1

.add()您可以使用以下方法将元素添加到匹配元素集:

// build list out of elements
$list = $first.add($overlay);
于 2013-10-25T09:31:28.683 回答