Javascript 如何使用jQuery多次复制列表元素

Javascript 如何使用jQuery多次复制列表元素,javascript,jquery,clone,duplication,Javascript,Jquery,Clone,Duplication,我有一个小问题。是否有使用jquery复制多个元素的选项?我有一个元素列表,我可以克隆,复制7次吗 <ul id="my_list> <li class="one_element>data</li> </ul> 你能帮我吗?Thx.您可以通过链接克隆来执行两次: var mylist = $('#my_list'); myList.find('li:first').clone().appendTo(myList).clone().appen

我有一个小问题。是否有使用jquery复制多个元素的选项?我有一个元素列表,我可以克隆,复制7次吗

<ul id="my_list>
   <li class="one_element>data</li>
</ul>

你能帮我吗?Thx.

您可以通过链接克隆来执行两次:

var mylist = $('#my_list');
myList.find('li:first').clone().appendTo(myList).clone().appendTo(myList);
var mylist=$(“#我的清单”);
对于(i=0;i<7;i++){
mylist.find('li:first').clone().appendTo(mylist);
}
var n=0;
var mclon=$(“#我的清单”);
对于(i=0;i<7;i++){
mclon.clone().attr('id','id'+(n++).insertAfter(mclon);
}
使用
.clone()
七次


说明:通过这种方式,所有七个克隆都使用唯一id创建(
id=my_list+n
其中n取决于迭代次数)。

您可以轻松使用
$。每个
jquery循环包装器:

$.each(new Array(7),function(){
    $('#list li:first').clone().appendTo('#list');
});

如果不需要深度克隆,则可以使用array方法创建与
n
元素数对应的HTMLString,如下所示:

var elementString = new Array(++n).join($(selector).get(0).outerHTML)
您可以将其附加到您想要的任何元素

基本上,我们将元素的长度传递给arrays
join()
方法,该方法的长度大于所需的克隆数。这是因为
join()
方法在第一个元素之后开始追加,在最后一个元素之前停止

i、 e


在您的情况下,您可以:

$(.ul”).append(新数组(8).join($(.one_元素”).get(0.outerHTML))

    数据
但现在我将克隆四个元素?如果在克隆之前有多个LIs,只需获取第一个。答案已更新。你想对克隆做什么?没什么特别的,但我需要最小化我的HTMLW。我想说的是,你想立即将它们添加到同一个列表中(或以其他方式将它们插入DOM),还是要存储它们以备以后插入?您希望它们完全相同,还是需要更改属性或内容?因为“最佳”解决方案可能会因您的意图而有所不同……是的,稍后通过ajax操作插入,但我需要通过js站点来完成这项工作
  var n=0;
  var mclon = $('#my_list');
 for ( i = 0; i < 7;i++){
  mclon.clone().attr('id', 'id'+(n++) ).insertAfter( mclon );
  }
$.each(new Array(7),function(){
    $('#list li:first').clone().appendTo('#list');
});
var elementString = new Array(++n).join($(selector).get(0).outerHTML)
[null,null,null,null].join(","); // results in ",,," not ",,,,"