代码之家  ›  专栏  ›  技术社区  ›  George Mauer

如何将jquery对象添加到jquery复合对象中

  •  6
  • George Mauer  · 技术社区  · 14 年前

    简单地说:jquery对象是一个复合模式。如何向其中添加jquery对象?

    一个例子:

    var e1 = $('#element1');
    var e2 = $('#element2');
    

    我知道想要创建一个新的jquery对象jq,这样它就由e1和e2组成。我想做如下的事情:

    var jq = $();
    jq.addInjQueryObjects([e1, e2]);
    jq.hide();
    

    我该怎么做?

    顺便说一下,我意识到我可以先选择元素1和元素2,这不是我要说的。

    1 回复  |  直到 14 年前
        1
  •  7
  •   user113716    14 年前

    你可以使用 jQuery's .add() method :

    var e1 = $('#element1');
    var e2 = $('#element2');
    
    var jq = $();
    jq = jq.add(e1).add(e2);
    jq.hide();
    

    它返回一个新的jquery对象,而不是修改原始对象,因此如果要重用同一个变量,则需要覆盖原始对象。


    编辑: 请注意,您也可以 use jQuery.merge() ,这将修改原始的,但您需要传入一个dom元素数组,而不是jquery对象。

    var e1 = $('#element1');
    var e2 = $('#element2');
    
    var jq = $();
    $.merge( jq, [e1[0], e2[0]] );
    jq.hide();
    ​