$ .each()中的jQuery追加元素

ben*_*t_w 2 jquery append

我试图在jQuery $.each()循环中重复追加在闭包之外定义的元素,请参阅 - http://jsfiddle.net/benedict_w/8Pczs/

有人可以解释为什么元素只附加在循环的最后一次迭代中?

例如

<ul>
    <li>blah</li>
    <li>blah</li>
    <li>blah</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用以下jquery:

var remove = $('<a href="#">remove</a>');
$('li').each(function(){
    $(this).append(remove);       
});?
Run Code Online (Sandbox Code Playgroud)

生产商:

<ul>
    <li>blah</li>
    <li>blah</li>
    <li>blah <a href="#">remove</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 7

您每次都附加相同的元素.
每个追加将移动到下一个<li>.

clone()每次迭代都需要元素(或者只是重新创建它).