合并两个jQuery对象

时间:2013-03-28 11:07:13

标签: javascript jquery

我喜欢使用一个或多个jQuery对象的返回值将它们添加到。

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

使用两个s的正确示例:

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

问题是我需要在函数内部分隔这两个对象,这不是正确的代码:

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

3 个答案:

答案 0 :(得分:10)

您可以使用jQuery .add() method

return a.add(b);

来自文档:

  

给定一个表示一组DOM元素的jQuery对象,.add()方法从这些元素的并集和传递给方法的元素的构造中构造一个新的jQuery对象。

答案 1 :(得分: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;
}

也许你有更好的解决方案?你知道它看起来不是很好。

答案 2 :(得分:0)

检查出来:

var $bindDivs = $.merge( $( '#div1' ), $( '#div2' ) );