jQuery追加不会调用两次?

Luk*_*bis 4 javascript jquery append

var random1 = Math.floor((Math.random()*elems.length));
var random2 = Math.floor((Math.random()*elems.length));

while (random1 == random2) {
    var random2 = Math.floor((Math.random()*elems.length));
}

$j('#project-scroller').append( elems );
$j('#project-scroller').append( elems[random1] );
$j('#project-scroller').append( elems[random2] );
Run Code Online (Sandbox Code Playgroud)

所以这就是发生了什么:elems得到了附加但是elms [random1]和elems [random2]没有.

那么我试着这样做:

$j('#project-scroller').append( elems );
$j('#project-scroller').append( elems );
Run Code Online (Sandbox Code Playgroud)

和elems只附加了一次,那个时候也是!那么我试着这样做:

$j('#project-scroller').append( elems[random1] );
$j('#project-scroller').append( elems[random2] );
Run Code Online (Sandbox Code Playgroud)

并且附加了随机元素.然后我尝试两次追加random1,它只附加一次......

我错过了什么?为什么jQuery不会多次附加相同的元素?用appendTo尝试同样的事情(只是为了踢),它做同样的事情.


谢谢你的回答!这是我最终得到的:

var random1 = Math.floor((Math.random()*elems.length));
var random2 = Math.floor((Math.random()*elems.length));
while (random1 == random2) {
    var random2 = Math.floor((Math.random()*elems.length));
}
newElem1 = $j(elems[random1]).clone();
newElem2 = $j(elems[random2]).clone();
$j('#project-scroller').append( elems ).append( newElem1 ).append( newElem2 );
Run Code Online (Sandbox Code Playgroud)

Cra*_*g O 8

它没有附加副本elems,它附加了真实的东西.使用clone()创建第二个副本追加.