2012-08-14 20 views
5

次のスニペットは機能しません。jquery add関数が期待通りに機能しない

var empty = $(); 
var divs = $("div"); 
empty.add(divs); 

あり、HTMLのdiv要素であり、それはのdivに正しく追加されます。しかし、divsコレクションは空の jqueryオブジェクトには追加されません。 何が問題なのですか?

+0

[ドキュメント](http://api.jquery.c om/add /)。 – alex

答えて

22

.add元のオブジェクトは変更されません。試してみてください:

empty = empty.add(divs); 
+1

jQueryの最初の直観的ではないいくつかのうちの1つ+1: –

+0

+1これ。それは私を何度も何度も受けました。 – aefxx

+1

[documentation](http://api.jquery.com/add/)には、新しいjQueryコレクションが返されます。 – alex

3

あなたはjQueryのドキュメント毎

var empty = $.extend($(), $('div')); 
0

を行うことができ、

.add()方法は、新しいセットを作成し、元のセットを残しますので、以下は、添加元素は保存されませんpdiv変更なし:

var pdiv = $("p"); 
pdiv.add("div"); // WRONG, pdiv will not change 
関連する問題