Javascript 如何使用jQuery多次复制列表元素
我有一个小问题。是否有使用jquery复制多个元素的选项?我有一个元素列表,我可以克隆,复制7次吗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
<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)
您可以将其附加到您想要的任何元素
基本上,我们将元素的长度传递给arraysjoin()
方法,该方法的长度大于所需的克隆数。这是因为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 ",,,,"