我们可以使用.add()来追加对象吗?

时间:2014-01-24 05:58:13

标签: jquery

我有以下代码,

var elementsToBeAppended = $();

for(var i=0; i<10; i++) {
  elementsToBeAppended.add($('<div>'));
}

alert(elementsToBeAppended.length);

我只是期望上面的代码会警告10但是它正在警告0,我实际上试图将该对象分组到该变量中然后我想将它附加到DOM以避免使用.append()每次迭代。

任何人都可以告诉我,我是否以错误的方式思考。如果是这样,那就引导我走正确的路。

DEMO

1 个答案:

答案 0 :(得分:4)

与大多数jQuery方法一样,.add() 返回一个新对象:

elementsToBeAppended = elementsToBeAppended.add($('<div>'));

从文档(强调我的):

  

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

下面再说:

  

更新的元素集可用于以下(链接)   方法,或分配给变量供以后使用。例如:

$( "p" ).add( "div" ).addClass( "widget" );
var pdiv = $( "p" ).add( "div" );
     

以下内容不会保存添加的元素,因为.add()   方法创建一个新集并在pdiv中保留原始集   不变:

var pdiv = $( "p" );
pdiv.add( "div" ); // WRONG, pdiv will not change

阅读文档通常有助于:)