2013-10-25 83 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);