5

1 つ以上の jQuery オブジェクトを含む戻り値を取得して、それらを に追加するのが好きです。

var f = function() {
    var a = $('<div class="a" />');
    // do someting awesome
    return a;
};

2 つの の正しい例:

var f = function() {
    var ret = $('<div class="a" /><div class="b" />');
    // do something spectecular
    return ret;
};

問題は、関数内でこれら 2 つのオブジェクトを分離する必要があり、これは正しいコードではないことです。

var f = function() {
    var a = $('<div class="a" />'),
        b = $('<div class="b" />'),
        ret = a+b;
    // do something fabulous
    return ret;
}
4

3 に答える 3

11

jQuery.add()メソッドを使用できます。

return a.add(b);

ドキュメントから:

一連の DOM 要素を表す jQuery オブジェクトを指定すると、.add() メソッドは、それらの要素とメソッドに渡された要素の和集合から新しい jQuery オブジェクトを構築します。

于 2013-03-28T11:08:49.610 に答える
0

私は自分の質問に対する解決策を見つけました:

var f = function() {
    var a = $('<div class="a" />'),
        b = $('<div class="b" />'),
        ret = $.extend({}, a);
    ret.push(b[0]);
    // do something fabulous
    return ret;
}

多分あなたはより良い解決策を持っていますか?あまりよく見えませんね。

于 2013-03-28T11:09:36.570 に答える
0

これをチェックしてください:

var $bindDivs = $.merge( $( '#div1' ), $( '#div2' ) );
于 2017-04-12T12:56:58.623 に答える