0

いくつかのアイテムを取得するセレクターがあり、そのスタックに要素を追加したいと考えています。これはpushStackの目的ではありませんか?

HTML:

<div id="container">
    <div class="color-me">Line 1</div>
    <div class="color-me">Line 2</div>
</div>

Javascript:

var $divs = $('.color-me');

var $generatedDiv = $('<div></div>', {
    'class': 'color-me',
    'text': 'Line 3'
}).appendTo($('#container'));

$divs.pushStack($generatedDiv);

// Shouldn't the $generatedDiv be in the $divs jQuery stack now?
$divs.css('color', 'red');

jsFiddle: http://jsfiddle.net/bGDxw/

4

3 に答える 3

2

pushStack確かにそれらをjQueryスタックに追加しますが、それはあなたがそこで扱っているものではありません. jQuery オブジェクトの配列を扱っています。

add()その結果、次の関数を使用する必要があります。

説明: 一致した要素のセットに要素を追加します。

例えば:

var $divs = $('.color-me');

var $generatedDiv = $('<div />', {
    'class': 'color-me',
    'text': 'Line 3'
}).appendTo($('#container'));

$divs = $divs.add($generatedDiv);
$divs.css('color', 'red');
于 2013-02-21T23:16:17.963 に答える
1

あなたが望むのは .add() のようです。それ以外の

$divs.pushStack($generatedDiv);

試す

$divs = $divs.add($generatedDiv);
于 2013-02-21T23:19:08.950 に答える
0

使用する$divs.add($generatedDiv);

jQuery.add()関数のドキュメントを参照してください。

于 2013-02-21T23:14:16.053 に答える